本文使用两台虚拟机进行演示,mysql为5.7。
192.168.211.128为主数据库
192.168.211.129为从数据库
主数据配置文件
修改/etc/my.cnf
文件,在[mysqld]下面添加以下信息,保存后重启mysql服务
1 2 3 4 5 6 7 8 9
| [mysqld]
server-id=1
log-bin=mysql-bin
binlog-do-db=testjdbc
|
从数据库配置文件
修改/etc/my.cnf
文件,在[mysqld]下面添加以下信息,保存后重启mysql服务
1 2 3 4 5 6 7
| [mysqld] server-id=2 log-bin=mysql-bin #同步的数据库 replicate_wild_do_table=testjdbc.% #屏蔽的数据库 #replicate_wild_ignore_table=mysql.%
|
主数据库配置
- 进入mysql服务,创建一个主从同步的账号。
账号为masterslave,密码为123。账号密码随意设置
1 2
| GRANT REPLICATION SLAVE ON *.* TO 'masterslave'@'%' IDENTIFIED BY '123'; FLUSH PRIVILEGES;
|
- 查看主数据库状态,记录File和Position信息提供给从数据库使用
File |
Position |
Binlog_Do_DB |
Binlog_Ignore_DB |
Excuted_Gtid_Set |
mysql-bin.000001 |
584 |
testjdbc |
|
|
从数据库配置
- 进入mysql服务,停止同步
- 修改从库指向主库的信息
1 2 3 4 5 6 7 8 9 10 11 12
| CHANGE MASTER TO -- 主库的ip MASTER_HOST='192.168.211.128', MASTER_PORT=3306, -- 主库配置的同步账号 MASTER_USER='masterslave', -- 主库配置的同步账号密码 MASTER_PASSWORD='123', -- 主库中的File信息 MASTER_LOG_FILE='mysql-bin.000001', -- 主库中的Position信息 MASTER_LOG_POS=584;
|
- 开启同步
- 查看同步状态
如果Slave_IO_Running和Slave_SQL_Running都为YES,则说明同步成功
测试
修改主库中的信息,查看从库中是否同步修改了