Mysql5.7.39主从

本文档详细介绍了如何在两台虚拟机上配置MySQL5.7.39的主从复制。首先在192.168.164.101上创建用户并授予权限,修改my.cnf配置文件,然后重启服务。接着在192.168.164.104上进行相同操作,并配置主从信息。在主节点上启动复制并检查状态。注意要检查防火墙设置,修改密码规则,并在克隆虚拟机后更新uuid。

虚拟机2台  192.168.164.101   192.168.164.104

101.创建用户并且给予权限    (如果设置简单密码需要修改下密码规则否则容易报错)

create user'libai'@'192.168.164.104'identified by '123123';
grant replication slave on *.* to "libai"@"192.168.164.104" identified by "123123";

101.创建ID vim /etc/my.cnf  

server-id=1
log-bin=/var/lib/mysql/mysql-bin

101.重启服务

systemctl restart mysqld  

101.登录mysql查看索引

show master status; 

104.vim /etc/my.cnf     创建ID

server-id=2
relay-log=/var/lib/mysql/relay-bin
relay-log-index=/var/lib/mysql/relay-bin.index

104.重启mysql服务

104登录mysql

104配置主从信息

change master to master_host='192.168.164.101',master_port=3306,master_user='libai',master_password='123123',master_log_file='mysql-bin.000001',master_log_pos=154;

104开始复制

start slave; 

104查看状态

show slave status\G 

ps:

检查防火墙

修改配置文件需要重启服务

stop slave io_thread;                                        关闭io线程

SELECT user FROM user;                             查看user表用户

set global validate_password_policy=0;          修改密码规则
set global validate_password_length=1;          修改密码规则
flush privileges;                                                 刷新权限

虚拟机克隆需的需要修改uuid vi /var/lib/mysql/auto.cnf

在配置 MySQL 5.7.42 的主从复制时,需要从主库和从库的配置、用户权限、网络设置等多个方面进行操作。以下是详细的配置步骤: ### 配置主库 1. **启用二进制日志** 在主库的 `my.cnf` 或 `my.ini` 文件中,添加以下配置以启用二进制日志,并设置唯一的 `server_id`: ```ini [mysqld] log_bin = mysql-bin server_id = 1 ``` 2. **创建主从复制账号** 登录 MySQL 主库,创建一个用于主从复制的专用账号,并赋予相应的权限。例如: ```sql CREATE USER 'repl'@'%' IDENTIFIED BY 'repl'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%'; FLUSH PRIVILEGES; ``` 3. **重启 MySQL 服务** 修改完配置文件后,重启 MySQL 服务以确保新的配置生效。 4. **查看主库状态** 登录 MySQL,执行以下命令查看当前主库的二进制日志文件和位置,以便从库连接时使用: ```sql SHOW MASTER STATUS; ``` ### 配置从库 1. **设置唯一的 server_id** 在从库的 `my.cnf` 或 `my.ini` 文件中,添加以下配置,确保 `server_id` 与主库不同: ```ini [mysqld] server_id = 2 ``` 2. **重启 MySQL 服务** 修改完配置文件后,重启从库的 MySQL 服务。 3. **连接主库并启动复制** 登录从库的 MySQL,执行以下命令,连接主库并启动复制: ```sql CHANGE MASTER TO MASTER_HOST='主库IP地址', MASTER_USER='repl', MASTER_PASSWORD='repl', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS= 4; START SLAVE; ``` 4. **检查从库状态** 执行以下命令,检查从库的复制状态: ```sql SHOW SLAVE STATUS\G ``` 确保 `Slave_IO_Running` 和 `Slave_SQL_Running` 的状态均为 `Yes`,表示复制正常运行。 ### 注意事项 - **网络连接**:确保主库和从库之间可以正常通信,并且主库的防火墙允许从库的 IP 地址访问 MySQL 端口(通常是 3306)。 - **数据一致性**:在配置主从复制之前,最好确保主库和从库的数据一致,可以通过 `mysqldump` 导出主库数据并在从库导入。 - **权限配置**:创建的复制账号需要具有 `REPLICATION SLAVE` 权限,并且允许从库的 IP 地址访问主库。 - **性能优化**:如果写操作较多,单主模型可能会导致主库成为性能瓶颈,可以考虑使用多主复制或读写分离架构来优化性能[^2]。 ### 示例代码 ```sql -- 创建主从复制账号 CREATE USER 'repl'@'%' IDENTIFIED BY 'repl'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%'; FLUSH PRIVILEGES; -- 从库连接主库 CHANGE MASTER TO MASTER_HOST='主库IP地址', MASTER_USER='repl', MASTER_PASSWORD='repl', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS= 4; START SLAVE; -- 检查从库状态 SHOW SLAVE STATUS\G ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值