MySQL linux 环境中使用最广泛的数据库之一,著名的“ LAMP 黄金组合”就要用到 MySQL 。关于 MySQL 的优点及作用,我就不多讲了,网上很多这样的文章。 今天我们要谈的是 MySQL 服务器的部署。 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

一、 安装 MySQL

1. 软件需求:

mysql-5.0.83-linux-i686.tar.gz

 

2. 查看系统中是否已经安装了 MySQL ,如果有卸载所有以 mysql 开头的包。

# rpm qa | grep  mysql         // 查看系统中是否已经安装了 MySQL

# rpm e  mysql-*             // 卸载所有以 mysql 开头的包

# rm f  /etc/my.cnf            // 查找 /etc/my.cnf ,如果有删除它

 

3. 安装 MySQL

# useradd  mysql                 // 添加用于启动 MySQL 的用户

# groupadd  mysql                // 添加用于启动 MySQL 的用户组

# tar  zxvf  mysql-5.0.83-linux-i686.tar.gz

# cp rf  mysql-5.0.83-linux-i686  /usr/local/

# cd  /usr/local

# mv  mysql-5.0.83-linux-i686  mysql

# cd  /usr/local/mysql

# scripts/mysql_install_db           // 初始化授权表

# cd  /usr/local

# chgrp R  mysql  mysql

# chown R  mysql  mysql/data          // 修改 MySQL 目录的所有权

# ln s  /usr/local/mysql/bin/*  /usr/local/bin/

# bin/safe_mysqld  --user=mysql  &              // 启动 Mysql & 表示后台运行

 

4. 测试

# mysqladmin  status                         // 服务状态查询

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

# mysql                                   // 登录 Mysql

5. 配置系统启动时自动启动 MySQL

 

6. 修改 MySQL 的最大连接数

# vi /etc/my.cnf

// 添加以下行

说明:

max_connections 设置最大连接数为 1000 max_user_connections 设置每用户最大连接数为 200 wait_timeout 表示 200 秒后将关闭空闲( IDLE )的连接,但是对正在工作的连接不影响。

// 保存退出,并重新启动 MySQL ,然后使用下面的命令查看修改是否成功

 

二、口令修改

1. Mysql 安装好后, root 用户默认是没有密码的,所以我们需要给它添加一个密码。格式如下:

# mysqladmin  -u  root  password   密码

比如,要将 root 的密码设为 123456

# mysqladmin  -u  root  password  123456

2. 添加密码后再连接服务器,就需要用以下格式的命令了:

# mysql  -h   主机名或 IP 地址  -u   用户名  -p

比如,登录本机数据库:

# mysql  -h  localhost  -root  -p

3. 如果用户已经有密码了,需要修改密码,那么需要按以下格式更改密码:

# mysqladmin  -u  root  -p  password   密码

比如,将 root 用户的密码改为 abc123

# mysqladmin  -u  root  -p  password  abc123

 

三、备份

1. 在线备份

在线备份有两种方式,使用 mysqldump 命令或 mysqlhotcopy 命令。

1 mysqldump 命令

  A. 导出指定数据库的表,如果不指定 tables ,将导出整个数据库的所有表:
    # mysqldump  [options]  database  [tables]

  B. 可同时导出多个数据库

# mysqldump  [options]  --database  [options]  db1 [db2 db3 …..]

  C. 导出当前服务器内的所有数据库

# mysqldump  [options]  -all-database  [options]

  D. 如果忘记 mysqldump 的参数,可以使用如下命令查找:

# mysqldump  -help

2) mysqlhotcopy 命令

  Mysqlhotcopy 命令是将某个数据库复制为一个新的数据库副本,而不中止原数据库服务,格式如下:

# mysqlhotcopy  db_name

 

2. 离线备份

  离线备份可以使用 gzip 方式将数据库压缩成 .tgz 文件,比如,将 /usr/local/mysql 下的数据库采用 gzip 方式压缩到 /backup/mysql.tgz 文件中:

  # tar  cvfz  /backup/mysql.tgz  /usr/local/mysql

 

四、故障恢复

  数据库运行久了,偶尔会产生一些故障,这时候我们可以通过 myisamchk 命令进行恢复,格式如下:

  #myisamchk  [options]  tables [.MYI]          //tables[.MYI] 是指数据表所在的文件名

如果只是简单出错,可以使用快速恢复:
  #myisamchk  -r  -q  table_name

如果快速恢复不了了,可以使用直接恢复:
  #myisamchk  -r  table_name

如果直接恢复也不行了,可以使用安全恢复:

  #myisamchk  -safe-recover  table_name

 

五、使用 phpMyAdmin 实现 web 管理

1. 安装

1 )软件需求

phpMyAdmin-<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />3.2.0-all-languages

下载地址: http://www.phpmyadmin.net

2 )安装

默认下载的是 .zip 文件,无需编译安装,我们使用 unzip 解压后,存放到 /usr/local/apache/htdocs 目录下,并做好相关配置就可以使用了。 phpMyAdmin 需要 Apache 的支持,关于 Apache 的配置可以参照上一篇文: Linux 服务器部署系列之一 —Apache 篇( http://guoxuemin.blog.51cto.com/379574/168534 )。

 

2. 配置

phpMyAdmin 的配置文件主要是 phpMyAdmin 目录下的 config.inc.php ,默认情况下该文件为 config.sample.inc.php ,需要将其先修改为 config.inc.php

可以根据需要,修改以下行:

说明:

$cfg['Servers'][$i]['host'] = 'localhost';     // 数据库服务器

$cfg['Servers'][$i]['auth_type'] = 'config';  // 登录方式,在自己的机子里调试用 config ,如果在网上用 http cookie

$cfg['Servers'][$i]['user'] = 'root';    // 数据库用户名

$cfg['Servers'][$i]['password'] = '';   // 数据库密码

$cfg['Servers'][$i]['only_db'] = '';    // 数据库名称

$cfg['DefaultLang'] = 'zh';         // 中文显示默认

 

3. 测试

打开浏览器,输入地址: http://192.168.99.9/phpMyAdmin ,就可以看到 MySQL Web 登录界面了。

输入数据的用户名和密码后,就可以打开 Web 管理界面了,如下图:

通过 Web 管理 MySQL 数据库要直观许多,不过,这个要看个人习惯、爱好。

MySQL 的部署完成,结合上一篇文“ Linux 服务器部署系列之一— Apache 篇”( http://guoxuemin.blog.51cto.com/379574/168534 ),就可以配置出著名的“ LAMP 黄金组合”。