天天看点

Linux服务器部署系列之二—MySQL篇

MySQL是linux环境中使用最广泛的数据库之一,著名的“LAMP黄金组合”就要用到MySQL。关于MySQL的优点及作用,我就不多讲了,网上很多这样的文章。 今天我们要谈的是MySQL服务器的部署。

<b>一、</b><b> </b><b>安装</b><b>MySQL</b>

<b>1.</b><b>软件需求:</b>

mysql-5.0.83-linux-i686.tar.gz

<b> </b>

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

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

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

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

<b>3. </b><b>安装</b><b>MySQL</b>

# 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           //初始化授权表

# chgrp –R  mysql  mysql

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

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

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

<b>4. </b><b>测试</b>

# mysqladmin  status                         //服务状态查询

# mysql                                   //登录Mysql

<b>5. </b><b>配置系统启动时自动启动</b><b>MySQL</b>

<b>6. </b><b>修改</b><b>MySQL</b><b>的最大连接数</b>

# vi /etc/my.cnf

//添加以下行

说明:

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

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

<b>二、口令修改</b>

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

<b>三、备份</b>

<b>1. </b><b>在线备份</b>

在线备份有两种方式,使用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

<b>2. </b><b>离线备份</b>

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

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

<b>四、故障恢复</b>

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

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

如果只是简单出错,可以使用快速恢复:

  #myisamchk  -r  -q  table_name

如果快速恢复不了了,可以使用直接恢复:

  #myisamchk  -r  table_name

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

  #myisamchk  -safe-recover  table_name

<b>五、使用</b><b>phpMyAdmin</b><b>实现</b><b>web</b><b>管理</b>

<b>1. </b><b>安装</b>

1)软件需求

phpMyAdmin-3.2.0-all-languages

2)安装

<b>2. </b><b>配置</b>

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

<b></b>

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

<b>说明:</b>

$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';         //中文显示默认

<b>3. </b><b>测试</b>

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

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

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

     本文转自Tonyguo 51CTO博客,原文链接:http://blog.51cto.com/tonyguo/168810,如需转载请自行联系原作者