mysql 5.1.34 主从复制支配手册

  • 内容
  • 评论
  • 相关

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 restart

重启无误后,执行[8] 查看主从是否配置成功

--------------------------------------------------------
[8] 检验配置是否成功
--------------------------------------------------------

登录从服务器输入如下命令:
mysql> show slave status/G;
确认如下行一致:
Waiting for master to send event
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

还有另外一种检验方法

在主数据库中的test库中新建一个表,此时到从数据库中查看主从库表的数据是否一致
若一致恭喜您配置成功了!

--------------------------------------------------------
[9] 注意事项
--------------------------------------------------------

修改配置需要注意
需要删除从服务器上的/var/lib/mysql/master.info文件

--------------------------------------------------------
[10] 与主从相关的命令有如下,希望能给您提供帮助
--------------------------------------------------------

***********************************************
*                  主数据库                   *
***********************************************

show master status
show slave hosts
show logs
show binlog events
purge logs to ‘log_name’
purge logs before ‘date’
reset master(老版本flush master)
set sql_log_bin= path

***********************************************
*                  从数据库                   *
***********************************************
slave start
slave stop
SLAVE STOP IO_THREAD //此线程把master段的日志写到本地
SLAVE start IO_THREAD
SLAVE STOP SQL_THREAD //此线程把写到本地的日志应用于数据库
SLAVE start SQL_THREAD
reset slave
SET GLOBAL SQL_SLAVE_SKIP_COUNTER
load data from master
show slave status(SUPER,REPLICATION CLIENT)
CHANGE MASTER TO MASTER_HOST=, MASTER_PORT=,MASTER_USER=, MASTER_PASSWORD= //动态改变master信息
PURGE MASTER [before 'date'] 删除master端已同步过的日志

原创文章,转载请注明: 转载自搞代码

本文链接地址: mysql 5.1.34 主从复制支配手册

微信支付二维码

微信 赏一包辣条吧~

支付宝支付二维码

支付宝 赏一听可乐吧~

评论

0条评论

发表评论

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