Mysql-主从数据库配置
两台linux服务器,修改主机名为mysql1,mysql2
1.修改主机名
服务器1
1 hostname mysql1
服务器2
1 hostname mysql2
2.关闭防火墙及SElinux服务
mysql1
1 setenforce 0 2 systemctl stop firewalld
mysql2
1 setenforce 0 2 systemctl stop firewalld
3.配置hosts文件
mysql1
1 vim /etc/hosts 3 192.168.223.4 mysql1 #ip 服务器实际ip 4 192.168.223.3 mysql2
mysql2
1 vim /etc/hosts 3 192.168.223.4 mysql1 4 192.168.223.3 mysql2
4.安装mysql数据库
Mysql-Linux 环境下部署 - tan253 - 博客园 (cnblogs.com)
5.重启mysql服务
systemctl restart mysqld.service
6.配置主从服务
6.1 mysql1
1 vim /etc/my.cnf
1 log_bin = mysql-bin #记录操作日志 2 binlog_ignore_db = mysql #不同步mysql系统数据库 3 server_id = 3 #数据库集群中的每个节点id都要不同,一般使用IP地址的最后段的数字,例如192.168.200.3,server_id就写3
重启数据库
1 systemctl restart mysqld.service
登录后主节点授权
1 grant REPLICATION CLIENT ON *.* TO user; 2 grant REPLICATION SLAVE ON *.* TO user; 3 grant SUPER ON *.* TO user; 4 grant reload on *.* to user; 5 FLUSH PRIVILEGES ;
6.2 mysql2
1 vim /etc/my.cnf
1 log_bin = mysql-bin #记录操作日志 2 binlog_ignore_db = mysql #不同步mysql系统数据库 3 server_id = 4 #数据库集群中的每个节点id都要不同,一般使用IP地址的最后段的数字,例如192.168.200.3,server_id就写3
重启数据库
1 systemctl restart mysqld.service
登录配置从节点连接主节点的连接信息
1 change master to master_host='mysql1',master_user='user',master_password='000000';
从节点服务开启
1 start slave;
使用show slave status\G命令,并查看从节点服务状态,如果Slave_IO_Running和Slave_SQL_Running的状态都为YES,
1 show slave status\G
###备注
1.虚拟化中直接复制的带数据库的服务器 修改,否则会报错
1 vim /var/lib/mysql/auto.cnf
2.MySQL主从同步故障:Slave_SQL_Running:No
2.1首先停掉Slave服务:slave stop
到主服务器上查看主机状态:
记录File和Position对应的值
进入主节点
1 show master status;
1 change master to 2 master_host='mysql1', 3 master_user='user', 4 master_password='****', 5 master_port=3306, 6 master_log_file='mysql-bin.000006',#对应值 7 master_log_pos=157;#对应值
分类:
Database / Mysql
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通