参考: https://www.jianshu.com/p/8903423f78ed 主从配置: 1、配置主服务器 步骤1:修改配置文件,开启binlog日志--备注① 步骤2:修改配置文件,设置一个server_id=数字(注:数字必须唯一) 如: [mysqld] server_id=1 步骤3:重启服务 步骤4:创建用户(目的,让从服务器来复制数据) mysql8以下: mysql> GRANT ALL PRIVILEGES ON *.* TO 'copy'@'%' IDENTIFIED BY 'copy' WITH GRANT OPTION; mysql8: 创建用户: mysql> create user 'copy'@'%' identified by 'copy'; 授权: mysql> grant all privileges on *.* to 'copy'@'%' with grant option; 修改数据表里面的host: mysql> GRANT ALL ON *.* TO 'copy'@'%'; mysql8加密方式不一样,需要修改加密方式才能访问: mysql> ALTER USER 'copy'@'%' IDENTIFIED WITH mysql_native_password BY 'copy'; mysql> FLUSH PRIVILEGES; 步骤5:关闭防火墙或开放3306端口 2、配置从服务器 步骤1:修改配置文件,设置一个server-id=数字(注:数字必须唯一) 如: [mysqld] server_id=2 步骤2:重启服务 步骤3:通过change master 语句指定同步主位置 -> 切换到主服务器并查看当前主服务器信息,通过SQL语句:【show master status】得到file和position信息 -> 切换到从服务器执行同步语句 mysql> change master to master_host='192.168.10.10',master_user='copy',master_password="copy",master_port=3306,master_log_file='mysql-bin.000018',master_log_pos=1528; 步骤4:开启同步 mysql> start slave; 步骤5:验证 mysql> show slave status\G; Slave_IO_Running:Yes Slave_SQL_Running:Yes 两个Yes就是成功,如果不成功,可以参考下面的注意事项 注意: 一,首次启动出现错误 1,可以重新登陆MySQL然后重启slave服务尝试。 2,如果使用的是虚拟机克隆的两个系统,则MySQL是一样的,也会报错’UUIDs’问题,需要删除MySQL数据目录下的auto.cnf然后重启(注:重启后会自动创建一个唯一的uuid),然后重启mysql服务即可 二,重启机器出现错误 1,如果机器重启,可能需要手动同步: mysql> stop slave; 2,再到master服务器: mysql> show master status; 得到目前主机状态 3,到从服务器手动同步: mysql> change master to master_host='192.168.10.10',master_user='copy',master_password="copy",master_port=3306,master_log_file='mysql-bin.000018',master_log_pos=2412; 4,重启同步: start slave; 5,验证是否成功: mysql> show slave status\G; /*****************************************备注**********************************************/ 备注①: 1,主服务器开启binlog日志,也可以先查看(step3) [mysqld] log-bin=mysql-bin 2,重启服务 service mysql restart 3,查看是否开启 show VARIABLES like 'log_bin'; 列表:show master logs 清空:reset master 刷新:flush logs 查看指定日志:show binlog events in '日志键名(mysql-bin.000016)'
MySQL主从大概配置
最新推荐文章于 2025-03-21 11:15:03 发布