db.mysql.主从同步实验
实验环境: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 ...
- 主库创建用于同步的账号,查看主库状态记录以用以从库的配置
- 配置从库、启动从库同步、查看从库状态,必要时从新启动从库
- 主库配置文件、从库配置文件、mysql版本下载地址