一.有两个版本相同的mysql
二.配置主库
1.配置my.ini文件添加:
my.ini文件最终为:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\mysql-5.7.24-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\mysql-5.7.24-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
# 1.日志文件名
log-bin = mysql-bin
# 2.主数据库端ID号
server-id = 1
# 3.配置需要同步的数据库(我这里同步test_copy数据库)
binlog-do-db = test_copy
重启mysql:
net stop mysql
net start mysql
2.执行授权命令
# 创建slave帐号slave_account,密码123456
grant replication slave on *.* to 'slave_account'@'%' identified by '123456';
# 更新数据库权限
flush privileges;
# 查看配置状态
show master status;
三.配置从库
1.配置my.ini文件
最终my.ini文件为:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\mysql-5.7.24-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\mysql-5.7.24-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
# 从数据库端ID号
server-id =2
2.执行同步命令,设置主数据库ip,同步帐号密码,同步位置
# 连接主库
change master to
master_host='129.65.83.67',
master_user='slave_account',
master_password='123456',
master_log_file='mysql-bin.000002',
master_log_pos=5664;
# 开始同步
start slave;
# 查看同步状态
show slave status
测试下更改主库、从库也会同步更新,到此配置完成,测试无误。
四.注意点
从库不能进行写操作,否则上图第二个参数Slave_SQL_Runing会变为no,从库将不会继续同步更新。
只有关闭同步、重新开启同步
-
# 停止同步
stop slave ;
# 重新连接主库信息
change master to
master_host='129.65.83.67',
master_user='slave_account',
master_password='123456',
master_log_file='mysql-bin.000002',
master_log_pos=5664;