mysql 主从1146_浅谈mysql主从同步及错误1146处理

在实际使用mysql的时候我们有时要增加一些新的库进行主从同步,所以可以通过修改my.cnf文件以及在主库上添加用户连接权限就可以实现主从同步,而在做主从同步的时候碰到几个问题这里就和大家说一下,至于如何构建主从同步这里就不再多说了,相信在网上能找到一大堆,这里就稍稍提几个关键点,在从库下的my.cnf添加如下几行:server-id = 2#一般主库是1,从库可以除1以外的数字

log-bin=mysql-bin#从库是读取主库logbin文件的,这行一定要加,不然会报错

report-host=192.168.168.253#主库的ip

relay-log = mysql-relay-bin

replicate-wild-do-table=database.%#需要同步主库里的某一个库,多个库可自行添加

在主库里添加用户使从库可连接,这里需要注意的是给权限时密码必须是密文,不然会报错误1372,我们可以用mysql>select password('password');#生成41位的十六进制数

mysql> GRANT REPLICATION SLAVE ON *.* TO 'test_backup'@'192.168.168.254' IDENTIFIED BY PASSWORD '*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19';#要这样给权限

在主库权限给好后从库里去修改连接主库的状态值change master to master_host='192.168.168.253',master_user='test_backup',master_password='test_backup',master_log_file='mysql-bin.XXXXXX',master_log_pos=XXX;

slave start;

然后show slave status\G看下面2项目是yes就行了Slave_IO_Running: Yes

Slave_SQL_Running: Yes

按理说主从同步到这里应该是结束了,但是,我在主库里查询以一下语句,再来看从库的状态时就会报错1146,刚刚开始还以为是库表文件损坏但是都没有用,于是上网去找很多方法都没有用到后来想到报错是从库里找不到相应的表,与是就看下从库里果然没有任何库,因为主从同步只会同步并不会新建库,于是就到主库里导出要同步的库mysqldump -uroot -p database > database.sql

在从库里建同名的库并导入,注意要和主库里用同样的字符集mysql> CREATE DATABASE `DATABASE` CHARACTER SET utf8 COLLATE utf8_general_ci

mysql>source database.sql#如果不在database.sql路径进入mysql要写database.sql的路径

mysql>slave stop;

再次调整最新的状态值再slave start,这样主从同步就做好了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值