MySql创建主从同步

这几天自己创建了一个mysql的辅库,虽然过程不难,但是还是遇到了一些问题。

正常步骤如下:

1、辅库开始同步时,内容一定要喝主库相同。我是用的直接拷贝数据目录的办法,后来看书上的讲解,使用mysqldump也可以做到这一点。

2、修改辅库的配置文件,使用新拷贝过来的数据,同时修改server-id,不能和主库相同。

3、要在主库上对辅库进行授权。

grant replication slave on *.* to slaveuser@192.168.1.100 identified by 'slavepwd';
flushi privileges;
4、在主库执行 show master status; 记录主库的执行点,作为辅库创建同步的参数。

CHANGE MASTER TO MASTER_HOST='192.168.1.99', MASTER_USER='slaveuser',MASTER_PASSWORD='slavepwd',MASTER_PORT=3306,MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=98, MASTER_CONNECT_RETRY=10;
Start slave;

本来过程就是这样,但是我还是犯了一个错误,在主库数据库中,有使用innerdb的表。

第一次错误:

在my.cnf 中,有一个datadir选项,设置数据文件的位置。

我修改了datadir,以为万事大吉了,结果发现辅库启动后发现数据表不同,原来是innerdb有单独的数据目录“innodb_data_home_dir”,我没有做对应的修改,结果出错。

第二次错误:

同步创建好之后,正常运行了一段时间,但是运行一段时间之后,有一条插入语句同步出错,报告错误是数据表损坏。

我又检查了一下cnf文件的配置,发现还有一项“innodb_data_file_path”,指定的是innerdb数据文件的分块大小,如果这个文件不一致的话,我从主库拷贝过来的innerdb数据文件是有问题的,导致了数据表损坏的问题。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值