MySQL 主从同步的实现。
说明:
数据库 :test
主机ip :IP1
从机ip :IP2
开始配置:
创建同步的用户:
mysql > GRANT all privileges ON *.* TO tongbu@'IP2' IDENTIFIED BY 'yourpassword';
注:以上语句意在创建只有从机IP2可以访问的用户:tongbu,密码:yourpassword。
主机数据库 my.cnf 配置:
log-bin server-id = 1
从机数据库 my.cnf 配置:
server_id = 2 log-bin = mysql-bin master-host = IP1 master-user = tongbu master-password = 'yourpassword' # 如果为空也要打上两个单引号 master-port = 3306 # 端口号 master-connect-retry = 10 # 连接重试次数 replicate-do-db = test # 要接收的数据库名,如果有多个数据库,每个数据库一行 replicate-ignore-db= mysql # 设置不要接收的数据库,每个数据库一行 (一般可不写)
重启mysql。
然后进入从机数据库开始同步:slave start;
注意事项:
1. 配置成功后会在mysql目录下生成master.info,如果要更改slave设置,要先将master.info删除才会起作用。
2. mysql 用 show slave status 或 show master status 查看同步情况。
3. 经测试在从数据库进行ICD操作均可以同步到主数据库,关闭任何一个数据库操作完毕再重启也可以同步。如此看来,若使用子增长字段可能会出现错误。