主库my.ini配置
[mysqld]
# 端口(默认:3306)
port=10100
# 设置mysql的安装目录
basedir=C:\ProgramFiles\MySQL\mysql-master
# 设置mysql数据库的数据的存放目录
datadir=C:\ProgramFiles\MySQL\mysql-ats-master\data
# 设置默认时区
default-time_zone='+8:00'
# =================== 主库设置 Start ===================
# 启用二进制日志
log-bin=mysql-bin
# Master的id,这个要唯一,唯一是值,在主从中唯一
server-id=10100
# 自动清理7天前的log文件
expire_logs_days=7
# 配置要给Slave同步的数据库
binlog_do_db=db_test
# 不用给Slave同步的数据库,一般是Mysql自带的数据库就不用给Slave同步了
binlog_ignore_db=mysql
binlog_ignore_db=information_schema
binlog_ignore_db=performance_schema
binlog_ignore_db=sys
# =================== 主库设置 End ===================
主库SQL操作
# 查看log_bin日志是否启动成功
SHOW VARIABLES LIKE '%log_bin%';
# 创建用户并授权
mysql> CREATE USER 'user_replication' @'%' IDENTIFIED BY 'pwd_replication';
mysql> GRANT Replication SLAVE ON *.* TO `user_replication` @`%`;
mysql> FLUSH PRIVILEGES;
# 接着查看Master的状态:
SHOW MASTER STATUS;
从库my.ini配置
[mysqld]
# 端口(默认:3306)
port=10101
# 设置mysql的安装目录
basedir=C:\ProgramFiles\MySQL\mysql-slave
# 设置mysql数据库的数据的存放目录
datadir=C:\ProgramFiles\MySQL\mysql-slave\data
# 设置默认时区
default-time_zone='+8:00'
# =================== 从库设置 Start ===================
# 配置从服务器的ID,唯一的
server-id=10101
# 加上以下参数可以避免更新不及时,SLAVE 重启后导致的主从复制出错
read_only = 1
master_info_repository=TABLE
relay_log_info_repository=TABLE
# =================== 从库设置 Start ===================
从库SQL操作
# 关闭从库
STOP SLAVE;
# 改变主库连接配置
CHANGE MASTER TO master_host = 'localhost',
master_port = 10100,
master_user = 'user_replication',
master_password = 'pwd_replication',
master_log_file = 'mysql-bin.000008',
master_log_pos = 2666;
# 启动从库
START SLAVE;
# 查看从库的状态(Slave_IO_Running和Slave_SQL_Running都为Yes,才表示连接成功)
SHOW SLAVE STATUS;
可能遇到的问题
Slave_IO_Running: Connecting,解决方法:
# 使用mysql.exe重新登录一下就好了
C:\ProgramFiles\MySQL\mysql-master\bin> .\mysql.exe -hlocalhost -P10100 -uuser_replication -p