Mysql教程

3.3安装和配置MySQL的二进制包

Linux操作系统卜_有以二进制的形式发布的MySQL软件包。这些二进制的MySQL软 件包比RPM包要灵活,但是安装没有RPM包那么容易。本小节将为读者介绍MySQL的 二进制包的安装与配置。

在讲解二进制的安装和配置前,必须要在MySQL宫方网站下载二进制包,在该网站上单击 Linux (non RPM packages) 链接,就可以跳转到下载二进制包的位置,如图所示:

图中显示的都是MySQL 二进制包。其中包括支持x86、AMD 64和Intel EM64T 等处理器架构的二进制包。还包括支持所有IA64、POWER等处理器架构的二进制包。本 书选择下载并安装支持x86的二进制包。下载后该源码包的名称为mysql-5.1.40-linux-i686- glibc23.tar.gz。其中,5.1.40为该源码包的版本号;tar.gz为该源码包的压缩包的后缀名。 假设该源码包下载到/home/hjh/download目录下。下面可以安装MySQL数据库软件了,具体步骤如下:

(1)登录到root用户,并增加mysql用户和组。

登录到root用户的命令如下:

shell>su root

输入命令并按下Enter键后,系统会提示输入密码。密码输入正确后,就可以登录到 root用户下。然后执行groupadd和useradd命令来增加mysql用户和组,命令如下:

shell>groupadd mysql

shell>useradd -g mysql mysql

其中,useradd的参数-g表示为新建用户分配组;第一个mysql为新用户所属的组;第二个mysql为新用户的名称。这个用户和组是为MySQL数据库准备的,读者也可以换成别的名称。如果换成别的名称,后面命令中用到mysql组和mysql用户的地方均进行相应的替换。这几个命令在Linux操作系统中的执行如下:

[hjh@localhost download]$ su root
password:
[root@localhost download]# groupadd mysql
[root@localhost download]# useradd -g mysql mysql

执行命令后,用户从hjh变成了 root。而且创建了mysq组和mysq用户。

(2)将二进制包复制到/usr/local/src/文件夹下,并且解压源码包。代码如下:

shell>cp download_path/mysql-VERSION .tar.gz /usr/local/src/
shell>cd /usr/local/src/
shell>tar -xzvf mysql-VERSION.tar.gz
shell>ln -s mysql-VERSION /usr/local/mysql

上面的第一条命令是将MySQL 二进制包拷贝到/usr/local/src文件夹下。download_path是二进制包下载后放置的路径;mysql-VERSION.tar.gz是下载的二进制包的名称, VERSION表示版本号;第二条命令表示切换目录到/usr/local/src文件夹下;第三条命令是 解压tar.gz包。后面几个参数的介绍如下:

  • -x参数表示从压缩包中解压出文件;

  • -z参数表示调用gzip来压缩文件,与-x联用时调用gzip完成解压缩;

  • -v参数表示处理过程中输出相关信息;

  • -f参数表示操作普通文件。

第四条命令是将刚解压的包链接到/usr/local/mysql文件夹下。这些代码执行如下:

[root@localhost download]# cp ./mysql-5.1.40-linux-i686-glibc23.tar.gz /usr/local/src/
[root@localhost download]# cd /usr/local/src/
[root@localhost src]# tar -xzvf mysql-5.1.40-linux-i686-glibc23.tar.gz
[root@localhost srcj# In -s mysql-5.1.40-linux-i686-glibc23 /usr/local/mysql

因为前面已经指定源码包下载到download目录下,所以./mysql-5.1.40-linux-i686-glibc 23.tar.gz,表不当前目录下的 mysql-5.40-linux-i686-glibc23.tar.gz 文件。经过 tar 命令解压,并且通过ln命令将mysql-5.1.40-linux-i686-glibc23文件夹链接到mysql文件夹。下面就可以进入mysql文件夹进行安装了。

(3)编译并安装MySQL命令如下:

shell>cd /usr/local/mysql/

shell>scripts/mysql_lnstall_db -user=mysql

通过cd命令跳转到/usr/local/mysql目录下。该目录下有一个名为scripts的目录。可以通过scripts目录下的mysql_install_db命令来创建系统自带的数据库和表。其中,--user参数表示使用哪个用户的权限来创建数据库和表,此处使用的是mysql用户。数据库和表默认安装在/usr/locaLmysqldata/目录下。这些命令执行如下:

[root@localhost src]# cd /usr/local/mysql/
[root@localhost mysql]# scripts/mysql_lnstall_db --user=mysql
lnstalling MySQL system tables...
OK
Filling help tables...
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
./bin/mysqladmin -u root password 'new-password'
./bin/mysqladmin -u root -h localhost.localdomain password 'new-password'
Alternatively you can run:
./bin/mysql_secure_lnstallation
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with:
cd .; ./bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd ./mysql-test; perl mysql-test-run.pl
Please report any problems with the ./bin/mysqlbug script!
The latest information about MySQL is available at http://www.mysql.com/
Support MySQL by buying support/licenses from http://shop.mysql.com/

创建系统数据库和表时,会有很多输出信息。这些输出信息里有一些重要的提示。这 些提示的介绍如下:

  • . /bin/mysqladmin -u root password 'new-password',即提示使用 mysqladmin 命令来为root用户创建新的密码;

  • . /bin/mysql_secure_installation可以用来删除测试数据库和匿名用户;

  • . /bin/mysqld_safe &提示使用 mysqld_safe 命令来启动 MySQL 服务;

  • cd ./mysql-test; perl mysql-test-run.pl 提示使用 mysql-test 目录下的 mysql-test-run.pl 脚本来测试 MySQL数据库;

  • . /bin/mysqlbug提示通过这个文件夹下的脚本来报告错误信息。

(4)创建并配置my.cnf文件。

support-files文件夹下存储了几个后缀名为cnf的文件。 从中选取一个合适的来创建my.cn。命令如下:
shell> cp support-files/my-large.cnf my.cnf
shell>vi my.cnf

vi是文本编辑工具,可以用来编辑文本文件。vi的功能很强大,使用也很简单。因此这是Linux操作系统下最常用的文本编辑工具之一。这些命令执行如下:

[root@localhost mysql]# vi my.cnf

使用vi进入my.cnf文件后,按I键就可以进行编辑了。按Esc键,然后输入:wp就可 以保存退出vi编辑器。my.cnf文件中的各个参数的含义请参考“手工更改配置”小节的内容。

(5)设置MySQL安装目录的权限。

将/usr/local/mysql/目录下的data文件夹的用户设 置为mysqL其他文件夹的用户设置为root。这下所有文件夹和文件的组都为root。命令 如下:

shell>chown -R root.
shell>chown -R mysql data
shell>chgrp -R mysql.

其中,chown命令用来改变文件所属用户的;-R表示用递归的方式来设置,可以设置子文件夹下的所有文件;“.”表示当前文件夹下的所有文件夹和文件;chgrp命令用来改变文件所属的组。这些命令执行如下:

[root@localhost mysql]# chown -R root
[root@localhost mysql]# chown -R mysql data
[root@localhost mysql]# chgrp -R mysql

(6)启动MySQL服务。一般都用mysql用户的身份来启动MySQL服务,命令如下:

shell> bin/mysqld_safe -user=mysql

mysqld_safe是启动MySQL服务的程序。--user参数可以指定用哪个用户登录。命令执行结果如下:

[root@localhost mysql]# bin/mysqld_safe ~user=mysql
 091114 11:08:32 mysqld_safe Logging to '/usr/local/mysql/data/localhost.localdomain.err'.
091114 11:08:32 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data

输出的提示信息表示,日志信息存储在localhost.localdomain.err文件中。数据库存储在usr/local/mysql/data/文件夹下。注意:使用二进制包安装MySQL数据库时,数据文件存储在安装路径的data路径下; rpm包安装MySQL数据库时,数据文件存储在/var/lib/mysql/目录下。希望读者注意这个问题,以免需要查找数据所在目录时造成困惑。

(7)登录MySQL数据库。可以使用bin目录下的mysql程序来登录数据库。命令如下:

shell>bin/mysql -u root


因为现在还没有初始密码,所以直接输入用户名^^就可以登录了。该命令的执行结 果如下:

[root@iocalhost mysql]# bin/mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.40-log MySQL Community Server (GPL)
Type ' help;' or '\h' for help. Type '\c' to clear the current input statement.

以上结果显示登录成功,并显示了相应信息。这些信息的介绍如下:

  • Commands end with ; or\g说明mysql命令行下的命令是以分号(;)或\g来结束的, 遇到这个结朿符就开始执行命令;

  • YourMySQLconnection id is 1, id表示MySQL数据库的连接次数。因为这个数据库是新安装的,是第一次登录,所以id的值为1;

  • Server version: 5.1.40-log MySQL Community Server (GPL)中, server version 后面说明数据库的版本,这个版本为5.1.40-logMySQLCommunityServer。community表示该版本是社区版。GPL表示该版本是遵循GPL协议的;

  • Type 'help;' or '\h' for help表示输入help;或者h可以看到帮助信息;

  • Type '\c' to clear the buffer表示遇到\c就清除前面的命令;

  • mysql>后面可以输入SQL语句和其他操纵数据库的语句。

因为没有初始密码,可能会存在潜在的危险,所以需要设置一个初始密码。设置密码之前,必须输入exit来退出MySQL数据库,然后再设置密码。设置初始密码的命令执行如下:

[root@localhost mysql]# bin/mysqladmin -u root password “123456”


这个命令将密码设置为“123456”。到此为止,二进制包MySQL数据库已经安装成功。

关注微信获取最新动态