此方案可適用于Centos 7、OpenEuler、Ubuntu操作系統。
在國產銀河麒麟V10中,虛擬機中啟動的麒麟系統使用當前方案并未遇到問題,但是在服務器上安裝時,執行到初始化時出現了找不到依賴問題(目前已解決安裝問題),后續我會繼續更新該問題解決方案。
1. 創建主、從安裝目錄
mkdir -p /data/mysql/mysql-master/{data,bin-log,slow_log,error_log}
mkdir -p /data/mysql/mysql-slave/{data,bin-log,slow_log,error_log}
2. 系統mariadb 處理
[檢查系統是否存在mariadb,若存在則需要根據/etc/my. cnf文件內容,創建并授權 mariadb.log]
vim /etc/my.cnf
# 出現下圖標記樣例,則需要創建對應的目錄和文件
創建對應目錄和文件并授權
# 創建目錄
mkdir -p /var/log/mariadb
# 創建文件
touch /var/log/mariadb/mariadb.log
# 授權
chmod -R 777 /var/log/mariadb/mariadb.log
3. 解壓 MySql 安裝包到主目錄和從目錄
下載地址:官網下載
cd /data/mysql/
# 解壓 MySQL安裝包
tar -xvf mysql-8.0.37-linux-glibc2.12-x86_64.tar.xz
# 復制
cp -a /data/mysql/mysql-8.0.37-linux-glibc2.12-x86_64/* /data/mysql/mysql-master/
cp -a /data/mysql/mysql-8.0.37-linux-glibc2.12-x86_64/* /data/mysql/mysql-slave/
# 刪除解壓后的文件
rm -rf /data/mysql/mysql-8.0.37-linux-glibc2.12-x86_64
4. 編輯 MySql[mysql. server]服務腳本
此處可以在富文本編輯器中打開修改完成后再上傳替換
# 主 /data/mysql/mysql-master/support-files/mysql.server
vim /data/mysql/mysql-master/support-files/mysql.server
# 從 /data/mysql/mysql-slave/support-files/mysql.server
vim /data/mysql/mysql-slave/support-files/mysql.server
修改 46、47 行
主:
basedir=/data/mysql/mysql-master/
datadir=/data/mysql/mysql-master/data/
從:
basedir=/data/mysql/mysql-slave/
datadir=/data/mysql/mysql-slave/data/
修改后執行
sed -i 's/\r$//' /data/mysql/mysql-master/support-files/mysql.serversed -i 's/\r$//' /data/mysql/mysql-slave/support-files/mysql.server
5. 配置 my. cnf
# 配置主數據庫
vim /data/mysql/mysql-master/my.cnf
主數據配置:
[主DB配置]
文件:/data/mysql/mysql-master/my.cnf
[mysqld]
# 服務器標識ID
server_id=20001
# 二進制日志文件
log_bin=/data/mysql/mysql-master/bin-log/bin-log
# 設置logbin格式
binlog-format=ROW
# 同步的數據庫
binlog-do-db="iot"
# 設置3306端口
port=3306
# 設置mysql的安裝目錄
basedir=/data/mysql/mysql-master
# 設置mysql數據庫的數據的存放目錄
datadir=/data/mysql/mysql-master/data
# PID文件
pid-file=/data/mysql/mysql-master/data/mysqld-master.pid
# 客戶端最大連接數
max_connections=1000
# 允許連接失敗的次數。這是為了防止有人從該主機試圖攻擊數據庫系統
max_connect_errors=10
# 服務端使用的字符集默認為UTF8
character-set-server=utf8mb4
# 創建新表時將使用的默認存儲引擎
default-storage-engine=INNODB
# 默認使用“mysql_native_password”插件認證
default_authentication_plugin=mysql_native_password
lower_case_table_names=1
#錯誤日志文件,初始化時,生成的root用戶密碼
log-error=/data/mysql/mysql-