目錄
前言
一、準備作業
1、下載資源包
2、創建個人目錄
二、安裝MySQL
1、安裝所有RPM包
2、啟動MySQL服務
3、登入MySQL并修改密碼
4、修改密碼
5、添加遠程連接權限
6、服務器開放MySQL埠
三、MySQL的主-從配置
1、修改組態檔
2、重啟MySQL服務
3、配置同步
四、MySQL的主-主配置
1、修改組態檔
2、配置同步
前言
之前也踩過不少坑,有些寫的都不太全面,導致搭建不成功,所以特別記錄一下
當前系統為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的主-主配置,配置的時候需要注意一些細節不要漏掉了
本篇到此結束,為了防止忘記,特此記錄一下,按照本篇來配應該不會有搭不成功的
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/299781.html
標籤:其他
