mysql 主从
配置主(master)
vi /etc/my.cnf
[mysqld]
log-bin=mysql-bin //[必须]启用二进制日志
server-id=1 //[必须]服务器唯一ID,默认是1,一般取IP最后一段
两个可选参数(2选1):
binlog-do-db=db1,db2 #需要同步的库
binlog-ignore-db=db1,db2 #忽略不同步的库
mysql:
grant replication slave on *.* to 'repl'@'127.0.0.1' identified by '123123'; (127.0.0.1是从服务器的IP)
或者用这句: mysql>GRANT REPLICATION SLAVE ON *.* to 'mysync'@'%' identified by 'q123456';
flush tables with read lock;
show master status; #一定要记住前两列的内容,一会会用到
修改从服务器slave:
vi /etc/my.cnf
[mysqld]
log-bin=mysql-bin //[必须]启用二进制日志
server-id=2 //[必须]服务器唯一ID,默认是1,一般取IP最后一段
两个可选参数(2选1):
binlog-do-db=db1,db2 #需要同步的库 (可有,可无)
binlog-ignore-db=db1,db2 #忽略不同步的库 (可有,可无)
mysql:
stop slave;
change master to master_host=
'192.168.6.28'
,master_user=
'root'
,master_password=
'ixmsoft'
,master_log_file=
'mysql-bin.000001'
,master_log_pos=106;
change master to master_host=
'主服务器'
,master_user=
'mysql用户名'
,master_password=
'mysql服务密码'
,master_log_file=
'File值'
,master_log_pos=Postion值;
start slave;
主上: unlock tables;
从上查看从的状态: show slave status\G;
测试主从:
主上新建一条数据,
create table hi_tb(id int(3),name char(10));
从上查看:
建议: MySQL主从机制比较脆弱,谨慎操作。如果重启master,务必要先把slave停掉,也就是说需要在slave上去执行 slave stop 命令,然后再去重启master的mysql服务,否则很有可能就会中断了。当然重启完后,还需要把slave给开启 slave start.
主主:
master:
auto-increment-increment = 2 //每次增长2
auto-increment-offset = 1 //设置自动增长的字段的偏移量,即初始值为2
salve;
auto-increment-increment = 2 //每次增长2
auto-increment-offset = 2 //设置自动增长的字段的偏移量,即初始值为2
转载于:https://blog.51cto.com/68686789/1846182