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,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步