| 订阅 | 在线投稿
分享
 
 
 

如何在Unix系统环境下安装MySQL数据库

2008-07-01 06:56:50 编辑來源:互联网 国际版 评论
 
 
  安装时建议你为MySQL管理创建一个用户和组。由该组用户运行mysql服务器并执行管理任务。(也可以以root身份运行服务器,但是不推荐)

  第一步创建一个用户来运行服务器。在Solaris和unix下,可以用useradd和groupadd使用工具来完成。取一个名字叫mysql吧。(当然,任何你喜欢的id都可以)所以在做其它事情之前,利用su命令成为root:

  $ su - root

  $ groupadd mysql

  $ useradd -g mysql mysql

  选择要安装mysql软件的位置,并将当前目录转换到该目录。一般的,将安装到/usr/local,这是MySQL软件的标准安装位置。现在进去,

  $ cd /usr/local

  解开软件包:

  $ gunzip -c /tmp/mysql -3.23.xx.tar.gz | tar -xf -

  因为要安装在Solaris服务器上,所以如果安装的是不同版本的tar,例如GNU的tar,则上面的命令将不会起作用。这是要用下面的命令:

  $ gunzip -c /tmp/mysql -3.23.xx.tar.gz | gtar -xf -

  现在可以查看一下新目录,看是否存在

  $ ls -ld mysql*

  total 1

  drwxr-xr-x 28 user user 1024 Jul 18 14:29 mysql-3.23.x/

  下一步是创建一个符号链接,以便安装能够指向/usr/local/mysql:

  $ ln -s mysql-3.23.x mysql

  $ ls -ld mysql*

  就会出现表示连接成功的行来。按照上帖软件安装好后,还有几项配置任务要完成。运行scripts/mysql_install_db创建MySQL许可表:

  $ scripts/mysql_install_db

  Preparing db talbe

  Preparing host table

  Preparing user table

  Preparing func table

  Preparing tables_priv table

  Preparing columns_priv table

  Installing all prepared tables

  010726 19:40:05 ./bin/mysqld: Shutdown Complete

  设置二进制文件的所有权,从而使之归root所有,并属于前面创建的MySQL

  管理员组(这个例子为mysql)

  $ chown -R root /usr/local/mysql

  $ chgrp -R mysql /usr/local/mysql

  将数据目录的所有权设置为先前创建的MySQL管理用户

  $ chown -R mysql /usr/local/mysql/data

  所有权设置完成

  启动服务器需运行safe_mysqld:

  $ bin/safe_mysqld --usr=mysql &

  一般要让MySQL在服务器引导时就运行。为此,可以将support-files/mysql.server复制到系统适当的位置就ok了。

  为了确保MySQL能正常工作,需要运行一些简单的测试. 如果输出结果: BINDIR = /usr/local/mysql/bin,就证明MySQL工作正常. BINDIR 的值与上面选择的prefix 选项有关。

  --------------------------------------------------------------------------------

  # BINDIR/mysqlshow -p

  +---------------+

  | Databases |

  +---------------+

  | mysql |

  +---------------+

  --------------------------------------------------------------------------------

  一旦你安装了MySQL, 它将会自动生成两个数据库。一个用于管理用户、主机和服务器数据库权限。另一个是测试数据库(test database)。我们可以使用测试数据库。 但是,我们想简单快捷的向你介绍MySQL中一些可使用的指令的概貌。这还可以确保 root 被设置为能够完全访问服务器,例如: root可以允许创建数据库、表单等.. 所以我们将创建一个test2数据库用于以后的测试。在通过指令进入MySQL前,系统将提示输入新创建的root口令。 应该记得你已改过 root的口令了。

  --------------------------------------------------------------------------------

  # mysql -u root -p

  mysql> show databases;

  +----------------+

  | Database |

  +----------------+

  | mysql |

  | test |

  +----------------+

  mysql> create database test2;

  Query OK, 1 row affected (0.00 sec)

  --------------------------------------------------------------------------------

  按照下面两段代码,选择使用新的数据库,并创建一个名称为tst_tbl的表, 它有两个字段。第一个字段(field 1)为id 字段,通过它可以看到记录的id号。从本质上看,这只是一列纯数字。第二个字段为名称字段,在其中可以存储书的名称。这些字段的格式为: field 1 (id) 为长度为3的整数型(int), field 2 (name)为长度为50的字符串型(char)。 我们对id的赋值可以对数据查找和标引。

  --------------------------------------------------------------------------------

  mysql> use test2;

  Database changed

  mysql> CREATE TABLE books ( id int(3) not null

  -> auto_increment, name char(50) not null,

  -> unique(id), primary key(id));

  Query OK, 0 rows affected (0.00 sec)

  --------------------------------------------------------------------------------

  现在用下面命令检查库是否正确。

  --------------------------------------------------------------------------------

  mysql> show tables;

  +---------------------+

  | Tables in test2 |

  +---------------------+

  | books |

  +---------------------+

  1 row in set (0.00 sec)

  mysql> describe books;

  +-------+-------------+------+------+----------+----------------+

  | Field | Type | Null | Key | Default | Extra |

  +-------+-------------+------+------+----------+----------------+

  | id | int(3) | | PRI | 0 | auto_increment |

  | name | char(50) | |

  +-------+-------------+------+------+----------+----------------+

  2 rows in set (0.00 sec)

  --------------------------------------------------------------------------------

  注意:describe指令基本描绘出表的布局。

  OK, 下面介绍一些真正有用的SQL指令:如何在数据库中插入和选择数据。现在可以向新建表中加入几条记录。

  --------------------------------------------------------------------------------

  mysql> INSERT INTO books (name) values(PHP 4 Newbies);

  Query OK, 1 row affected (0.00 sec)

  mysql> INSERT INTO books (name) values(Red Hat Linux 6 Server);

  Query OK, 1 row affected (0.00 sec)

  --------------------------------------------------------------------------------

  现在检查一下新的记录,并熟悉一下select指令。

  -------------------------------------------------------------------------------

  mysql> SELECT * from books;

  +----+----------------------------------+

  | id | name |

  +----+----------------------------------+

  | 1 | PHP for Newbies |

  | 2 | Red Hat Linux 6 Server |

  +----+----------------------------------+

  2 rows in set (0.00 sec)

  --------------------------------------------------------------------------------

  这样MySQL服务器的就已经能正常运行了。我们可以继续增加记录,但是在此就没有更多意义了。

  注意:当你向数据库插入记录时,不必指定id。这是因为你创建id 字段有自动增加的选项。

  下面介绍如何进行快速删除。这只是给你一个简单信息,记住你可以在mysql web站点http://www.mysql.com找到所有你所想要的mysql指令和服务器的信息。

  --------------------------------------------------------------------------------

  mysql> delete from books where id=1;

  Query OK, 1 row affected (0.00 sec)

  mysql> select * from books;

  +----+-----------------------------------+

  | id | name |

  +----+-----------------------------------+

  | 2 | Red Hat Linux 6 Server |

  +----+-----------------------------------+

  1 row in set (0.00 sec)
 
 
安装时建议你为MySQL管理创建一个用户和组。由该组用户运行mysql服务器并执行管理任务。(也可以以root身份运行服务器,但是不推荐) 第一步创建一个用户来运行服务器。在Solaris和unix下,可以用useradd和groupadd使用工具来完成。取一个名字叫mysql吧。(当然,任何你喜欢的id都可以)所以在做其它事情之前,利用su命令成为root: $ su - root $ groupadd mysql $ useradd -g mysql mysql 选择要安装mysql软件的位置,并将当前目录转换到该目录。一般的,将安装到/usr/local,这是MySQL软件的标准安装位置。现在进去, $ cd /usr/local 解开软件包: $ gunzip -c /tmp/mysql -3.23.xx.tar.gz | tar -xf - 因为要安装在Solaris服务器上,所以如果安装的是不同版本的tar,例如GNU的tar,则上面的命令将不会起作用。这是要用下面的命令: $ gunzip -c /tmp/mysql -3.23.xx.tar.gz | gtar -xf - 现在可以查看一下新目录,看是否存在 $ ls -ld mysql* total 1 drwxr-xr-x 28 user user 1024 Jul 18 14:29 mysql-3.23.x/ 下一步是创建一个符号链接,以便安装能够指向/usr/local/mysql: $ ln -s mysql-3.23.x mysql $ ls -ld mysql* 就会出现表示连接成功的行来。按照上帖软件安装好后,还有几项配置任务要完成。运行scripts/mysql_install_db创建MySQL许可表: $ scripts/mysql_install_db Preparing db talbe Preparing host table Preparing user table Preparing func table Preparing tables_priv table Preparing columns_priv table Installing all prepared tables 010726 19:40:05 ./bin/mysqld: Shutdown Complete 设置二进制文件的所有权,从而使之归root所有,并属于前面创建的MySQL 管理员组(这个例子为mysql) $ chown -R root /usr/local/mysql $ chgrp -R mysql /usr/local/mysql 将数据目录的所有权设置为先前创建的MySQL管理用户 $ chown -R mysql /usr/local/mysql/data 所有权设置完成 启动服务器需运行safe_mysqld: $ bin/safe_mysqld --usr=mysql & 一般要让MySQL在服务器引导时就运行。为此,可以将support-files/mysql.server复制到系统适当的位置就ok了。 为了确保MySQL能正常工作,需要运行一些简单的测试. 如果输出结果: BINDIR = /usr/local/mysql/bin,就证明MySQL工作正常. BINDIR 的值与上面选择的prefix 选项有关。 -------------------------------------------------------------------------------- # BINDIR/mysqlshow -p +---------------+ | Databases | +---------------+ | mysql | +---------------+ -------------------------------------------------------------------------------- 一旦你安装了MySQL, 它将会自动生成两个数据库。一个用于管理用户、主机和服务器数据库权限。另一个是测试数据库(test database)。我们可以使用测试数据库。 但是,我们想简单快捷的向你介绍MySQL中一些可使用的指令的概貌。这还可以确保 root 被设置为能够完全访问服务器,例如: root可以允许创建数据库、表单等.. 所以我们将创建一个test2数据库用于以后的测试。在通过指令进入MySQL前,系统将提示输入新创建的root口令。 应该记得你已改过 root的口令了。 -------------------------------------------------------------------------------- # mysql -u root -p mysql> show databases; +----------------+ | Database | +----------------+ | mysql | | test | +----------------+ mysql> create database test2; Query OK, 1 row affected (0.00 sec) -------------------------------------------------------------------------------- 按照下面两段代码,选择使用新的数据库,并创建一个名称为tst_tbl的表, 它有两个字段。第一个字段(field 1)为id 字段,通过它可以看到记录的id号。从本质上看,这只是一列纯数字。第二个字段为名称字段,在其中可以存储书的名称。这些字段的格式为: field 1 (id) 为长度为3的整数型(int), field 2 (name)为长度为50的字符串型(char)。 我们对id的赋值可以对数据查找和标引。 -------------------------------------------------------------------------------- mysql> use test2; Database changed mysql> CREATE TABLE books ( id int(3) not null -> auto_increment, name char(50) not null, -> unique(id), primary key(id)); Query OK, 0 rows affected (0.00 sec) -------------------------------------------------------------------------------- 现在用下面命令检查库是否正确。 -------------------------------------------------------------------------------- mysql> show tables; +---------------------+ | Tables in test2 | +---------------------+ | books | +---------------------+ 1 row in set (0.00 sec) mysql> describe books; +-------+-------------+------+------+----------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+------+----------+----------------+ | id | int(3) | | PRI | 0 | auto_increment | | name | char(50) | | +-------+-------------+------+------+----------+----------------+ 2 rows in set (0.00 sec) -------------------------------------------------------------------------------- 注意:describe指令基本描绘出表的布局。 OK, 下面介绍一些真正有用的SQL指令:如何在数据库中插入和选择数据。现在可以向新建表中加入几条记录。 -------------------------------------------------------------------------------- mysql> INSERT INTO books (name) values(PHP 4 Newbies); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO books (name) values(Red Hat Linux 6 Server); Query OK, 1 row affected (0.00 sec) -------------------------------------------------------------------------------- 现在检查一下新的记录,并熟悉一下select指令。 ------------------------------------------------------------------------------- mysql> SELECT * from books; +----+----------------------------------+ | id | name | +----+----------------------------------+ | 1 | PHP for Newbies | | 2 | Red Hat Linux 6 Server | +----+----------------------------------+ 2 rows in set (0.00 sec) -------------------------------------------------------------------------------- 这样MySQL服务器的就已经能正常运行了。我们可以继续增加记录,但是在此就没有更多意义了。 注意:当你向数据库插入记录时,不必指定id。这是因为你创建id 字段有自动增加的选项。 下面介绍如何进行快速删除。这只是给你一个简单信息,记住你可以在mysql web站点http://www.mysql.com找到所有你所想要的mysql指令和服务器的信息。 -------------------------------------------------------------------------------- mysql> delete from books where id=1; Query OK, 1 row affected (0.00 sec) mysql> select * from books; +----+-----------------------------------+ | id | name | +----+-----------------------------------+ | 2 | Red Hat Linux 6 Server | +----+-----------------------------------+ 1 row in set (0.00 sec)
󰈣󰈤
日版宠物情人插曲《Winding Road》歌词

日版宠物情人2017的插曲,很带节奏感,日语的,女生唱的。 最后听见是在第8集的时候女主手割伤了,然后男主用嘴帮她吸了一下,插曲就出来了。 歌手:Def...

兄弟共妻,我成了他们夜里的美食

老钟家的两个儿子很特别,就是跟其他的人不太一样,魔一般的执着。兄弟俩都到了要结婚的年龄了,不管自家老爹怎么磨破嘴皮子,兄弟俩说不娶就不娶,老父母为兄弟两操碎了心...

网络安全治理:国家安全保障的主要方向是打击犯罪,而不是处置和惩罚受害者

来源:中国青年报 新的攻击方法不断涌现,黑客几乎永远占据网络攻击的上风,我们不可能通过技术手段杜绝网络攻击。国家安全保障的主要方向是打击犯罪,而不是处置和惩罚...

 
 
 
>>返回首页<<
 为你推荐
 
 
 
 转载本文
 UBB代码 HTML代码
复制到剪贴板...
 
 
 热帖排行
 
纯美的她_仔婷
苏州河畔_秀气女生
痞子的甘南日记
疑是银河落九天
 
 
王朝网络微信公众号
微信扫码关注本站公众号wangchaonetcn
 
  免责声明:本文仅代表作者个人观点,与王朝网络无关。王朝网络登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
©2005- 王朝网络 版权所有