- Mysql版本 8.0.28(主从同一个版本)
- 主从ip互通(必须)
1.在主库中my.ini文件中添加配置信息
log-bin = mysql-bin
server-id = 1
binlog-do-db= ******
2.重启mysql服务
3.使用root用户登录,注意在mysql安装bin目录下打开cmd命令窗口
mysql -u root -p
4.创建slave账号,并赋予权限,命令如下
mysql 5.7 默认身份验证插件default_authentication_plugin是:mysql_native_password
mysql 8.0 默认身份验证插件default_authentication_plugin是:caching_sha2_password
原文链接:https:
这里创建slave即有两种方式:
方式1: mysql_native_password 验证密码
mysql> CREATE USER 'slave'@'%' IDENTIFIED WITH 'mysql_native_password' BY 'slave';
方式2: caching_sha2_password 采用方式2
mysql> CREATE USER 'slave'@'%' IDENTIFIED WITH 'caching_sha2_password' BY 'slave';
给用户赋予权限
mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' ;
加了上面的权限发现还是不够,可以试试加上所有权限:(不行再加上)
mysql> GRANT ALL privileges ON *.* TO 'slave'@'%' ;
mysql> FLUSH PRIVILEGES;
5.查看主数据库状态,注意这里的参数:File与Position,后续从库配置中会使用到
show master status;
从库配置
1.配置从库的my.ini
server-id = 3
binlog-do-db=****** 此同步数据库名须与主库数据库名一致,且同步主库数据库表的结构
2.命令行登录从库,查看数据库状态
show slave status;
3.命令行输入,在从数据库中配置主数据库的信息
change master to master_host='192.168.3.24',master_user='slave',master_password='123456',master_log_file='WIN-DP46I3SLTTF-bin.000007' ,master_log_pos=1248,GET_MASTER_PUBLIC_KEY=1;
4.启动slave
start slave;
5.查看运行状态
show slave status\G;
当这下面两个属性为Yes的时候,配置成功。
Slave_IO_Running: Yes Slave_SQL_Running: Yes
6.重置绑定
停止已启动的绑定
stop slave;
重置绑定
reset master;
切到主服务器 获取最新的日志
FLUSH PRIVILEGES;
show master status;
切换到从服务器
绑定
change master to master_host='192.168.3.24',master_user='slave',master_password='123456',master_log_file='WIN-DP46I3SLTTF-bin.000007' ,master_log_pos=1248,GET_MASTER_PUBLIC_KEY=1;
开启主从
start slave;
查看从服务器状态
show slave status;
观察Slave_IO_Running和Slave_SQL_Running是否都是yes
expire_logs_days = 3
max_binlog_size = 100m
binlog_cache_size = 4m
max_binlog_cache_size = 512m
auto_increment_offset = 1
auto_increment_increment = 2
————————————————
版权声明:本文为CSDN博主「a缘2333」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https:
7.如果从库直接从主库拷贝数据,需要修改data中的 【auto.cnf】文件
[auto]
server-uuid=3f666435-ae9d-11e9-aeb0-90b11c9ba46f
|