一、主数据库master配置:
1、修改mysql配置:
找到主数据库的配置文件my.cnf(或者my.ini),我的在/etc/mysql/my.cnf,在[mysqld]部分插入如下两行:server-id=1
log-bin=mysql-bin #开启二进制日志
binlog-do-db=xueche #设置需要同步的数据库
binlog-ignore-db=mysql,test #设置不需要同步的数据库
2、创建从数据库同步账号:mysql> CREATE USER 'slave'@'192.168.1.6' IDENTIFIED BY 'slavepass';#创建用户
mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave'@'192.168.1.6';#分配权限
mysql>flush privileges; #刷新权限
3、查看master状态:show master status;
二、从服务器slave修改:
1、找到my.cnf配置文件,添加server-id
[mysqld]
server-id=2 #设置server-id,必须唯一
2、重启mysql,打开mysql会话,执行同步SQL语句(需要主服务器主机名,登陆凭据,二进制文件的名称和位置):mysql> CHANGE MASTER TO
->MASTER_HOST='192.168.1.5',
->MASTER_USER='slave',
->MASTER_PASSWORD='slavepass',
->MASTER_LOG_FILE='mysql-bin.000001',
->MASTER_LOG_POS=153;
3、启动slave同步进程:mysql>start slave;
4、查看slave状态:mysql> show slave status\G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 182.92.1.5
Master_User: rep1
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 11662
Relay_Log_File: mysqld-relay-bin.000022
Relay_Log_Pos: 11765
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
当Slave_IO_Running和Slave_SQL_Running都为YES的时候就表示主从同步设置成功了。
注意:mysql主数据库版本必须小于等于从数据库版本,否则可能会出现报错或者不同步的情况