Linux中Mysql的集群搭建
1.前提要求:需要创建多个Mysql实例(可以在一个虚拟机创建Mysql通过快照的方式创建多个虚拟机)
2.配置主机
1.选择一个mysql作为主机,并且配置/etc/my.cnf
文件
vim /etc/my.cnf
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
log_bin
binlog-do-db=qj #要同步的数据库名
binlog-ignore-db=mysql#一定不要复制的数据库名
server-id=120#值要唯一,通常使用虚拟机ip地址的最后一段
2.重启mysql
systemctl restart mysql
如果上述的重启命令不能用可以使用下面的
systemctl restart mysqld
3.登录MySQL并查看状态
show master status;
这里先记下File,Position两个字段
3.配置从机
1.编辑从机的/etc/my.cnf
文件
vim /etc/my.cnf
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
server-id=121#唯一值
2.删除auto.cnf
文件
rm -f /data/mysql/auto.cnf
3.重启mysql
systemctl restart mysql
如果上述重启方法不行,可以使用以下方法
systemctl restart mysqld
4.登录从机进行配置
#1.停掉slave
mysql> stop slave;
#2.配置主机信息:
#change master to master_host='主机ip地址',master_user='主机用户
#名',master_password='主机
#密码',master_log_file='主机日志文件名',master_log_pos=日志文件的位置;
mysql>change master to
master_host='192.168.211.120',master_user='root',master_password='123456',master_log_file
='localhost-bin.000001',#上述记下来的file
master_log_pos=154;#上述记下来的position
#3.启动slave
mysql>start slave;
#4.查看从机状态
mysql>show slave status \G;
重要:需要看到从机状态中的Slave_IO_Running和Slave_SQL_Running都为Yes
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误