linux下配置主从复制结构的mysql集群(其实只有两个节点,多节点可以一次类推发挥你的想象力)
在配置之前需要两个linux系统,这里使用的是linux系统是乌班图16.04,首先将其中一个作为主节点,另外一个作为从节点。主从节点一定要注意分清楚不可以搞混淆。
在主节点上进行如下操作
1.通过sudo vi /etc/mysql/mysql.conf.d/mysqld.conf进入mysql的配置文件找到[mysqld](这里可以自己找到自己的mysqld.cnf文件,不一定会和笔者是相同路径)。
2.找到bind-address = 127.0.0.1在前面加#注释掉。
3.在[mysqld]后面加上。
server-id=101(设置服务id)
log-bin=mysql1-bin(开启记录主节点的操作日志)
4.重启主节点mysql服务
sudo service mysql restart
sudo service mysql status
5.使用mysql -u root -p 命令进入mysql后建立授权用户给从节点使用命令如下(账号和密码按照个人设置)
grant replication slave,replication client on *.* to 'repl'@'%' identified by 'repl'
6.在主节点上show master status\G,查看file和position.笔者的File:mysql1-bin.000009 Position:154
在从节点进行如下操作
1.sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf进入mysql的配置文件找到[mysqld](这里可以自己找到自己的mysqld.cnf文件,不一定会和笔者是相同路径)
2.找到bind-address = 127.0.0.1在前面加#注释掉
3.在[mysql]后面加上
server-id=102(设置服务id)
relay-log=mysql2-relay(开启中继日志并且命名)
4.重启主节点mysql服务
sudo service mysql restart
sudo service mysql status
5.使用mysql -u root -p 命令进入mysql后进行如下操作
change master to
master_host='172.16.23.110',(这里的ip是一号节点的ip地址,如果不知道的话可以去ifconfig操作在系统中查看)
master_port=3306,(这里是mysql数据库的端口号,一般默认是3306.如果你没有改动过可以就是3306)
master_user='repl',(账号)
master_password='repl',(密码)
master_log_file='mysql1-bin.000009',(刚才查看的file)
master_log_pos=154;(刚才查看的Position)
6.在从节点上都执行start slave;然后都show slave status \G查看是否连接成功,连接成功的标志就是Slave_IO_State:Waiting for master tosend event。
这样的话正常情况下就建立好了主主复制结构。
【郑重申明】:这是笔者学习笔记整理而成,由于能力所限也在学习阶段,如果那里有不对或者有问题,可以联系笔者修改。或者想和我讨论一起学习的,我们可以一起探讨。如果产生问题没有连接成功,可以耐心查看报错,慢慢调整修改,有可能粗心导致步骤错误。