Linux部署MySQL主从-主主
Posted 啊脑袋_YA
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux部署MySQL主从-主主相关的知识,希望对你有一定的参考价值。
目录
前言
之前也踩过不少坑,有些写的都不太全面,导致搭建不成功,所以特别记录一下
当前系统为Centos7
名称 | IP |
mysql(主) | 192.168.137.100 |
MySQL(备) | 192.168.137.101 |
MySQL的主从配置比较简单,我们从安装开始一步步来
一、准备工作
1、下载资源包
因为平时操作并不能连接外网,所以全部都使用rpm包安装。
安装MySQL所需RPM包,提取码:jk00。http://链接:https://pan.baidu.com/s/1JuzcxVhj1Y4mPzZpb0MCjA
2、创建个人目录
在根目录“/”下,创建user文件夹,然后将RPM包全部放到user文件夹下,也可以跳过此步,这只是我的个人习惯而已
mkdir /user
二、安装MySQL
1、安装所有RPM包
rpm -Uvh /user/*.rpm
2、启动MySQL服务
systemctl start mysqld
注:不同版本的名称可能不同
3、登入MySQL并修改密码
# 查看root密码
grep "password" /var/log/mysqld.log
红框内为初始密码(每次安装的初始密码都不相同)
# 登入MySQL
mysql -u root -p
输入刚刚得到的密码按回车就登入成功了
4、修改密码
如需要设置简单密码,需要先修改密码验证策略,因为密码太弱会修改失败,若直接设置复杂密码可跳过这一步
# 修改MySQL 8.0版本密码验证策略(有的版本不同,其他版本请自行百度搜索)
set global validate_password.policy=0;
set global validate_password.length=1;
我这里设置的是123456方便演示
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
退出MySQL连接使用exit即可
5、添加远程连接权限
CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;
6、服务器开放MySQL端口
MySQL的默认端口为3306
# 开放3306端口
firewall-cmd --permanent --add-port=3306/tcp
# 重启防火墙
firewall-cmd --reload
注:修改防火墙配置后需要重启防火墙
然后使用工具进行连接测试,我这里使用的是Navicat for MySQL
可以看到这里已经显示连接成功了
可能会用到的其他命令
# 启动MySQL
systemctl start mysqld
# 停止MySQL
systemctl stop mysqld
# 重启MySQL
systemctl restart mysqld
# 查看MySQL状态
systemctl status mysqld
以上为MySQL安装步骤,主备相同,接下来进行MySQL的主-从配置
--------------------------------------------------------------------------------------------------------------
三、MySQL的主-从配置
1、修改配置文件
文件路径:/etc/my.cnf
vi /etc/my.cnf
MySQL(主)配置文件
server-id = 10
log-bin = mysql-bin
binlog-ignore-db=mysql
binlog_ignore_db=information_schema
binlog_ignore_db=performation_schema
binlog_ignore_db=sys
binlog_format= MIXED
简单讲解一下:
server-id需要唯一
log-bin为开启MySQL的binlog日志
binlog-ignore-d为不记录指定的数据库的二进制日志,简单来说就是不同步指定的数据库
binlog_format为同步模式,一共有3种(STATEMENT模式,ROW模式,MIXED模式),我们选择MIXED模式,此模式是将其他两种模式混合使用
MySQL(备)配置文件
server-id = 11
2、重启MySQL服务
systemctl restart mysqld
3、配置同步
当前位置MySQL(主)
首先进入MySQL
mysql -uroot -p
添加MySQL(备)的连接权限(备机IP为192.168.137.101),等会在备机上配置时会使用到
CREATE USER 'master_101'@'192.168.137.101' IDENTIFIED WITH mysql_native_password BY '123456';
grant replication slave on *.* to 'master_101'@'192.168.137.101';
flush privileges;
这一步是为了让MySQL(备)能连接到MySQL(主),所以这个IP为备机的IP
然后查看状态和二进制文件
show master status;
记录下红框中的两个参数,等会在备机上配置时会使用到
当前位置MySQL(备)
同样是先进入MySQL,这里就省略了,上面有
配置同步:
简单讲解一下配置
master_host为主机的IP:本文的是192.168.137.100
master_user为主机配置的同步用户名:本文的是master_101
master_password为主机配置的同步用户的密码:本文的是123456
master_log_file为刚刚红框中的内容:本文的是mysql-bin.000001
master_log_pos为刚刚红框中的内容:本文的是156
change master to master_host='192.168.137.100',master_user='master_101',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=156;
# 启动slave
start slave;
show slave status\\G;
图中红框内的为Yes就是配置成功
以上为MySQL的主从配置,配置的时候需要注意一些细节不要漏掉了
接下来进行MySQL的主-主配置
--------------------------------------------------------------------------------------------------------------
四、MySQL的主-主配置
MySQL的主-主配置只需要在主-从配置的基础上将主的配置加到备机就可以,我们来操作一下,我不太会用文字描述
1、修改配置文件
MySQL(主)配置文件
主机的配置不变
MySQL(备)配置文件
server-id = 11
log-bin = mysql-bin
binlog-ignore-db=mysql
binlog_ignore_db=information_schema
binlog_ignore_db=performation_schema
binlog_ignore_db=sys
binlog_format= MIXED
备机配置文件只有server-id与主机不同,其他相同
注:修改配置文件后,需要重启MySQL服务
# 重启mysql服务
systemctl restart mysqld
2、配置同步
当前位置MySQL(备)
同样是先进入MySQL,这里就省略了,上面有
添加MySQL(主)的连接权限(主机IP为192.168.137.101),等会在备机上配置时会使用到
CREATE USER 'master_100'@'192.168.137.100' IDENTIFIED WITH mysql_native_password BY '123456';
grant replication slave on *.* to 'master_100'@'192.168.137.100';
flush privileges;
设置简单密码的时候可能会报错,只需要修改一下密码验证策略就好了
这一步是为了让MySQL(主)能连接到MySQL(备),所以这个IP为主机的IP
然后查看状态和二进制文件
show master status;
记录下红框中的两个参数,等会在主机上配置时会使用到
当前位置MySQL(主)
同样是先进入MySQL,这里就省略了,上面有
配置同步:
change master to master_host='192.168.137.101',master_user='master_100',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=866;
# 启动slave
start slave;
show slave status\\G;
图中红框内的为Yes就是配置成功
以上为MySQL的主-主配置,配置的时候需要注意一些细节不要漏掉了
本篇到此结束,为了防止忘记,特此记录一下,按照本篇来配应该不会有搭不成功的
以上是关于Linux部署MySQL主从-主主的主要内容,如果未能解决你的问题,请参考以下文章