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

日期: 2008-09-17 作者:罗丽娜 来源:TechTarget中国 英文

  安装时建议你为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)

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐