linux下mysql的主从配置

抓狂抓狂

数据库升级完了又要整一个主从库出来,我的天,数据库都跑了2年多了,现在整个主从库。废话不多说了,直接记录一下。

1.准备工作

1.1备份主库数据

mysqldump -uusername -ppassword --opt --single-transaction  --all-databases --events > /usr/local/backup`date +%F`.sql

1.2将备份的.sql文件上传到从库机器
1.3.在从库mysql终端下执行 

mysql >source /usr/local/backup2018-03-22.sql

2.开始主从配置

2.1创建一个专门用于主从复制的账号

Master的数据库中建立一个备份帐户:每个slave使用标准的MySQL用户名和密码连接master。进行复制操作的用户会授予REPLICATION SLAVE权限。命令如下

mysql > GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO 'BACKUP'@'xx.xx.xx.xx' IDENTIFIED BY 'password';  //建立一个帐户backup,并且只能允许从xx.xx.xx.xx这个地址上来登陆,密码是password

2.2.配置master
vi /etc/my.cnf   #编辑配置文件,在[mysqld]部分添加下面内容
server-id=1   #设置服务器id,为1表示主服务器,注意:如果原来的配置文件中已经有这一行,就不用再添加了。
log-bin=mysql-bin  #启动MySQ二进制日志系统,注意:如果原来的配置文件中已经有这一行,就不用再添加了。
binlog-do-db=dbname#需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行
binlog-ignore-db=mysql   #不同步mysql系统数据库
:wq!   #保存退出
重启master,运行SHOW MASTER STATUS

注意:这里记住File的值:mysql-bin.008797和Position的值:62,后面会用到。

2.3.配置slave
vi /etc/my.cnf   #编辑配置文件,在[mysqld]部分添加下面内容
server-id=2   #设置服务器id,修改其值为2,表示为从数据库
log-bin=mysql-bin  #启动MySQ二进制日志系统,注意:如果原来的配置文件中已经有这一行,就不用再添加了。
replicate-do-db=dbname#需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行
replicate-ignore-db=mysql   #不同步mysql系统数据库
replicate-ignore-table=dbname.tablename 不同步dbname库中的tablename 表
read_only  #设置数据库只读

:wq!    #保存退出

2.4.从库上执行同步语句
change master to master_host='xx.xx.xx.xx',master_user='BACKUP',master_password='password',master_log_file='mysql-bin.008797' ,master_log_pos=62; 
2.5.开启slave同步进程
mysql>start slave;
2.6查看slave同步信息
mysql> SHOW SLAVE STATUS\G
注意查看:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
以上这两个参数的值为Yes,即说明配置成功!

如果后期master重启了,slave需要重新执行同步语句,然后重启slave

3

如果执行同步的过程中出现错误了,可以跳过这个这个错误执行后续同步

方法:关闭slave后从库上执行set  global sql_slave_skip_counter=1;然后重新执行2.4、2.5



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值