实验环境:windows10(1607)、mysql5.7.16 (for windows zip)
主库(端口3306)配置文件:
[mysqld]
#数据库根目录
basedir = D:\mysql_home\mysql1
#数据存放目录
datadir = D:\mysql_home\mysql1\data
#端口
port = 3306
#需要添加字符编码的设置
character-set-server=utf8
#忽略mysql库的同步
binlog-ignore-db=mysql
#必须开启二进制日志
log-bin=mysql-bin
#服务器唯一IP,默认为1,一般取IP最后一段,相同机器去端口号
server_id = 3306
#以下是安装、初始化、启动数据库的命令
#mysqld install mysql3306 --defaults-file="D:\mysql_home\mysql1\my.ini" #在相应数据库的bin目录内执行这个命令
#mysqld --initialize
#net start mysql3306
从库(端口3307)配置文件:
[mysqld]
#数据库根目录
basedir = D:\mysql_home\mysql2
#数据存放目录
datadir = D:\mysql_home\mysql2\data
#端口
port = 3307
#需要添加字符编码的设置
character-set-server=utf8
#忽略mysql库的同步
binlog-ignore-db=mysql
#必须开启二进制日志
log-bin=mysql-bin
#服务器唯一IP,默认为1,一般取IP最后一段,相同机器去端口号
server_id = 3307
#以下是安装、初始化、启动数据库的命令
#mysqld install mysql3307 --defaults-file="D:\mysql_home\mysql2\my.ini" #在相应数据库的bin目录内执行这个命令
#mysqld --initialize
#net start mysql3307
安装这个版本的mysql,密码在配置文件指定的data目录中的err日志文件中有打印,打开err结尾的文件,搜索关键字password寻找,启动mysql服务后,用密码登陆,修改即可。
主库操作:
#在主库创建用于同步的账号,%不限制从库ip。
mysql>GRANT REPLICATION SLAVE ON *.* to 'mysync'@'%' identified by 'root@0.111';
#查看主库状态:
mysql>show master status
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000008 | 154 | | mysql | |
+------------------+----------+--------------+------------------+-------------------+
#好了,先不要操作主库了,记住show master status查看主库状态时看到的二进制文件:mysql-bin.000008,配置从库时候要用。
从库操作:
#在从库中指定,主库的ip,用于同步的账号(就是上一步在主库创建的账号),主库二进制文件,以及position数值
#一下命令对应的值请按实际情况填写,不可照搬:
mysql>change master to master_host='127.0.0.1',master_user='mysync',master_password='root@0.111', master_log_file='mysql-bin.000008',master_log_pos=154;
#开启从库同步
mysql>start slave
#查看从库状态
mysql>show slave status \G
#主要看一下两个进程是否都为Yes,如果不是都为yes,请在输出的其他内容里面寻找出现的问题,也要尝试start slave,
#有时候重启从库服务,可能同步不会启动,我不清楚。。。
...
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
...
主库创建用于同步的账号,查看主库状态记录以用以从库的配置
配置从库、启动从库同步、查看从库状态,必要时从新启动从库