时间:2021-07-01 10:21:17 帮助过:18人阅读
参数说明:
log-bin=mysql-bin #开启二进制日志
server-id=101 #2到232–1之间的一个正整数值,唯一,默认是1,建议使用ip的最后一段
auto_increment_offset=1 #自增id起始值为1
auto_increment_increment=2 #自增基数为2,保证id为奇数
skip-slave-start #手动启动同步服务,避免突然宕机导致的数据日志不同步
log-slave-updates=true #互为主从必要
保存修改完成之后执行命令service mysqld restart重启mysql数据库:
service mysqld restart
执行命令:mysql -u用户名-p密码登录mysql数据库后执行以下命令:
GRANT all ON *.* to ‘slave‘@193.168.10.102 identified by ‘123456‘;
给主机B赋予权限,这里@前面的slave是登录名,可以自己定义,最后面的123456是登录密码。
执行mysql命令reset master;清空所有的bin-log日志,然后执行mysql命令show master status;查看最新的bin日志。
reset master;
show master status;
上图中的mysql-bin.000001就是最新的日志文件名称,Position是bin日志结束的位置,这两个值会在主机B中使用。
到此主机A配置完毕,切记为了保持主从的一致性,先不要操作主机A mysql数据库,待主机B配置完成且设置同步后才可以进行操作。
执行命令:vi /etc/my.cnf后在最后添加如下内容:
log-bin=/var/lib/mysql/mysql-bin
server-id=102
auto_increment_offset=2
auto_increment_increment=2
skip-slave-start
log-slave-updates=true
注意这里的server-id和offset值和A机器上的不同。
保存修改完成之后执行命令service mysqld restart重启mysql数据库:
service mysqld restart
执行命令:mysql -u用户名-p密码登录mysql数据库后执行以下命令:
GRANT all ON *.* to ‘slave‘@193.168.10.101 identified by ‘123456‘;
注意这里是101
执行mysql命令reset master;清空所有的bin-log日志,然后执行mysql命令show master status;查看最新的bin日志。
reset master;
show master status;
在主机A上登录mysql后执行:
change master to master_host=‘193.168.10.102‘,master_user=‘slave‘,master_password=‘123456‘,master_log_file=‘mysql-bin.000001‘,master_log_pos=120;
这里的master_host是指主机B的ip地址,master_uesr是执行同步操作的用户名,master_password是执行同步的用户密码,master_log_file是主机B的bin-log日志,master_log_pos是从bin-log日志开始同步的位置。
然后开启同步 执行:
start slave;
查看是否成功:
show slave status\G;
如图所示 表示成功。
在主机B上登录myslq执行:
change master to master_host=‘193.168.10.101‘,master_user=‘slave‘,master_password=‘123456‘,master_log_file=‘mysql-bin.000001‘,master_log_pos=120;
start slave;
show slave status\G;
以上互为主从配置完成。可自行在其中一个mysql中创建数据库创建表,然后查看另外一个mysql中是否已经同步。
Linux下Mysql数据库互为主从的配置过程
标签:宕机 log pre serve server-id 文件名 自增 登录 com