日期:2014-05-16  浏览次数:21129 次

mysql 5.1.34 主从复制部署手册
********************************************************************************************
mysql 5.1.34 主从复制部署手册

********************************************************************************************
概述:
    下文描述了,mysql的详细安装方法(mysql5.1.34.tar.gz)、基本配置、
    mysql主从同步配置的详细操作步骤

--------------------------------------------------------
[1] 安装mysql
--------------------------------------------------------
shell> groupadd mysql
shell> useradd -g mysql mysql
shell> cd /usr/local
shell> gunzip < mysql-5.1.34-linux-i686-glibc23.tar.gz | tar xvf -
shell> ln -s mysql-5.1.34-linux-i686-glibc23 mysql
shell> cd mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data
shell> cd /usr/local/mysql
shell> cp support-files/my-medium.cnf /etc/my.cnf

--------------------------------------------------------
[2] 修改mysql root密码
--------------------------------------------------------

shell> /usr/local/mysql/bin/mysqladmin -u root password 'founder'

--------------------------------------------------------
[3] 设定mysql开机自启动及安装mysql服务
--------------------------------------------------------

shell> cd /usr/local/mysql
shell>  cp support-files/mysql.server /etc/init.d/mysql
shell>  chmod +x /etc/init.d/mysql
shell>  chkconfig --level 345 mysql on
shell>  service mysql restart
执行命令后显示结果如下

Shutting down MySQL.[  确定  ]
Starting MySQL[  确定  ]

--------------------------------------------------------
[4] 修改mysql 不区分大小写设置
--------------------------------------------------------

vi /etc/my.cnf
在mysqld下写如下内容

lower_case_table_names=1

修改完毕后重启mysql

shell> service mysql restart

--------------------------------------------------------
[5] 设置master 数据库
--------------------------------------------------------

vi /etc/my.cnf

在[mysqld] 中增加如下内容

server-id = 1
log-bin=mysql-bin
binlog-do-db=test     # 需要同步备份的数据库名字
binlog-ignore-db=mysql # 不需要同步备份的数据库名字

修改完毕后保存退出,并重启mysql

shell> service mysql restart

备注说明:

在my.cnf已经默认存在,如果不存在,再填写如下内容
server-id = 1
log-bin=mysql-bin

--------------------------------------------------------
[6] 在master数据库中设置slave(从)数据库的账号信息
--------------------------------------------------------

mysql> mysql -u root -pfounder
mysql> GRANT REPLICATION SLAVE ON *.*
TO 'slave1'@'10.1.2.130' IDENTIFIED BY '8uhb&YGV';
GRANT REPLICATION SLAVE ON *.*
TO 'slave2'@'10.1.2.131' IDENTIFIED BY '8uhb&YGV';
mysql> flush privileges;
mysql> commit;

备注说明:

上述设置了两台slave(从)数据库的账号信息,如果您只有一台从数据库
只需要执行一条语句。

上述语句的含义
grant replication slave on *.* to ‘用户名’@'从注册的ip’ identified by ‘密码’;

--------------------------------------------------------
[7] 从数据库的配置
--------------------------------------------------------

按照[1][2][3][4]步骤安装并配置mysql数据库配置完毕后执行如下操作

shell> vi /etc/my.cnf

在[mysqld] 下填写如下内容

server-id       = 2      #任意制定的一个整形的id号
master-host=10.1.2.129 #[1] 中安装的主服务器的ip地址
master-user=slave1 #[6] 中设置的从服务器可以访问到主服务器的用户名
master-password=8uhb&YGV
master-port=3306
replicate-do-db=test #[5] 中设置的需要同步复制的数据库的名字
master-connect-retry=60 #如果从服务器发现主服务器断掉,重新连接的时间差(秒)


配置完毕后保存退出,并重启mysql

shell> service mysql r