服务名称 | 端口 |
---|---|
MySQL8-Master | 3308 |
MySQL8-Slave | 3309 |
安装教程:https://blog.csdn.net/Session_s/article/details/123429189
配置主从之间同步
user_db
和order_db
库,并忽略初始库
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3308端口
port = 3308
# 设置mysql的安装目录
basedir=D:\JavaSoftware\Database\MySQL\Master Slave\Master-3308
# 设置mysql数据库的数据的存放目录
datadir=D:\JavaSoftware\Database\MySQL\Master Slave\Master-3308\data
# 允许最大连接数
max_connections=200
# 设置mysql服务端默认字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# MySQL 服务的唯一编号,每个 MySQL 服务的 id 需唯一
server-id=3308
# binlog 文件名
log-bin=mysql-bin
# 设置需要同步的数据库名
binlog-do-db=user_db
binlog-do-db=order_db
# 屏蔽数据库同步
binlog-ignore-db=mysql
binlog-ignore-db=performance_schema
binlog-ignore-db=information_schema
binlog-ignore-db=sys
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3309端口
port = 3309
# 设置mysql的安装目录
basedir=D:\JavaSoftware\Database\MySQL\Master Slave\Slave-3309
# 设置mysql数据库的数据的存放目录
datadir=D:\JavaSoftware\Database\MySQL\Master Slave\Slave-3309\data
# 允许最大连接数
max_connections=200
# 设置mysql服务端默认字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# MySQL 服务的唯一编号,每个 MySQL 服务的 id 需唯一
server-id=3309
# binlog 文件名
log-bin=mysql-bin
# 设置需要同步的数据库
replicate_wild_do_table=user_db.%
replicate_wild_do_table=order_db.%
# 设置忽略同步的数据库
replicate_wild_ignore_table=mysql.%
replicate_wild_ignore_table=performance_schema.%
replicate_wild_ignore_table=information_schema.%
replicate_wild_ignore_table=sys.%
创建用户: readonly
密码:123456
:
CREATE USER `readonly`@`` IDENTIFIED BY '123456';
给用户readonly
授予数据库order_db
、user_db
的只读权限:
GRANT Select ON `order\_db`.* TO `readonly`@``;
GRANT Select ON `user\_db`.* TO `readonly`@``;
使用SHOW MASTER STATUS 查询主库的binlog文件名以及起始点position
1、使用STOP SLAVE;
停止I/O 线程和SQL线程的操作
2、使用CHANGE MASTER TO
命令配置slave连接master的信息
CHANGE MASTER TO MASTER_HOST='localhost',MASTER_PORT=3308,MASTER_USER='root',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=1044;
注:MASTER_LOG_FILE
和MASTER_LOG_POS
通过步骤4.1查询主库数据得到。
3、使用START SLAVE;
启动I/O 线程和SQL线程
4、查看从库状态:SHOW SLAVE STATUS;