遇到的题目:之前不停卡在这一步,刚下载完之后看到没有my.ini就自己创建了一个my.ini,在里面写了server-id=2进去,想测一下mysql服务是否能读取到my.ini,结果不停读取不到,查了资料后发现mysql服务读取的my.ini路径并不是Program Files而是在programData下的MySQL 下面是解决的方法
参考:Windows11下Mysql8.0修改My.ini配置文件未生效的题目_mysql 配置文件修改无效-CSDN博客
下载完默认读取的是C:\ProgramData\MySQL\MySQL Server 8.0目录下的my.ini文件,修改为C:\Program Files\MySQL\MySQL Server 8.0路径下的my.ini文件
win+r输入regedit进入注册表
按照第一个红框的路径找到imagePath后,修改imagePath中读取的my.ini位置
“C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe” --defaults-file=“C:\Program Files\MySQL\MySQL Server 8.0\my.ini” MySQL
修改成上面如许的;指定了MySQL服务的可执行文件路径和配置文件路径
create user 'master11'@'%' identified with mysql_native_password by '#Master11';
GRANT REPLICATION SLAVE ON *.* TO 'master11'@'%';
GRANT REPLICATION CLIENT ON *.* TO 'master11'@'%';
FLUSH PRIVILEGES;
show grants for 'master11'@'%';
show master status;
复制代码
master11用户是在mysql2绑定mysql1数据库时用到的
2.mysql2绑定mysql1数据库
mysql -uroot -p123456
change master to master_host='192.168.154.136',master_user='master11',master_password='#Master11',master_log_file='mysql-bin.000003',master_log_pos=2328;
create user 'master12'@'%' identified with mysql_native_password by '#Master12';
GRANT REPLICATION SLAVE ON *.* TO 'master12'@'%';
GRANT REPLICATION CLIENT ON *.* TO 'master12'@'%';
FLUSH PRIVILEGES;
show grants for 'master12'@'%';
show master status;
复制代码
2.mysql1绑定mysql2数据库
mysql -uroot -p123456
change master to master_host='192.168.154.138',master_user='master12',master_password='#Master12',master_log_file='mysql-bin.000002',master_log_pos=1080;
start slave;
show slave status \G
复制代码
红框内的两个值都是Yes表示已经同步成功
五.测试结果
1.黑框测试
create database demo_db;
use demo_db
create table demo_tb(id int not null,name varchar(20) default 'username');
insert into demo_tb values(1,'zhangsan'), (2,'lisi'), (3,'kunkun');
复制代码
在假造机mysql1中创建数据库和数据表添加数据
show databases;
select * from demo_db.demo_tb;
use demo_db
insert into demo_tb values(4,'liao'),(5,'chengpi'),(6,'mahua');