二進制安裝mariadb主從複製

官網地址:https://mariadb.com/downloads

1、安裝MariaDB

tar xvf mariadb-10.4.12-linux-x86_64.tar.gz -C /usr/local/

cd /usr/local

ln -s mariadb-10.4.12-linux-x86_64 mysql

groupadd mysql

useradd -g mysql mysql

創建數據目錄

mkdir /data/mysql/data

chown -R mysql.mysql /data/

chown -R mysql.mysql /usr/local/mysql

2、安裝配置

cd /usr/local/mysql

./scripts/mysql_install_db --user=mysql --datadir=/data/mysql/data    #執行配置腳本

修改/etc/my.cnf中的配置<master>

[mysqld]
slow_query_log = 1       #開啓慢日誌
slow_query_log_file = "/data/log/mariadb/mariadb-slow.log"     #慢日誌存放目錄
long_query_time = 2       #查詢時間超過 2 秒則定義爲慢查詢
skip-networking = 0       #必須關閉,否則不會聯網
bind-address=0.0.0.0       #一般建議全部綁定,因爲 mysql 和 mariadb 不允許手動綁定指定 IP 地址
skip-name-resolve = 1       #防止 mysql 默認對 IP 地址反向查詢影響行能
port = 3306
datadir = "/data/mysql"     #後期同步的二進制修改信息會放在這裏
socket = "/var/lib/mysql/mysql.sock"         #用於支持本地訪問的 socket 文件
symbolic-links=0        #關閉後會阻止 mysql 訪問符號鏈接文件(快捷方式)爲了安全推薦關閉(無關)
server-id=1           #配置本機 mysql 的唯一 ID,多臺 mysql 不能存在相同的 ID
log-bin=mysql-bin        #設置”主服務器需要同步的二進制日誌”文件名前綴
relay-log=mysql-relay-bin    #設置”從服務器需要執行的中繼日誌”文件名前綴
#replicate-wild-ignore-table=other.%
#binlog_format=row       #修改了複製格式爲 mixed,mysql 一共有三種格式 mixed 和 statement 和 row ,默認是 row
expire_logs_days = 3      #設置”二進制修改信息”的保存時間,過期(三天後)清理
#read_only=on          #設置數據庫爲只讀狀態

修改/etc/my.cnf中的配置<slave>

[mysqld]
slow_query_log = 1
slow_query_log_file = "/data/log/mariadb/mariadb-slow.log"
long_query_time = 2
skip-networking = 0
bind-address=0.0.0.0
skip-name-resolve = 1
port = 3306
datadir = "/data/mysql"
socket = "/var/lib/mysql/mysql.sock"
symbolic-links=0
server-id=2
relay-log=mysql-relay-bin
#replicate-wild-ignore-table=other.%
binlog_format=row
expire_logs_days = 3
read_only=on

3、啓動數據庫

./bin/mysqld_safe --user=mysql --datadir=/data/mysql/data &

ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

設置數據庫root用戶密碼

./bin/mysqladmin -u root password '123456'       #設置root用戶密碼

關閉數據庫

./bin/mysqladmin -uroot -p shutdown

4、數據庫連接、查詢

./bin/mysql -uroot -p

select host,user,password from user;

5、創建主從連接的用戶<master>

create user 'admin'@'%' identified by 'admin123';

grant replication slave on *.* to 'admin'@'%';

show master status;

6、進行關聯master節點<slave>

CHANGE MASTER TO

  MASTER_HOST='172.18.103.211',
  MASTER_USER='admin',
  MASTER_PASSWORD='admin123',
  MASTER_PORT=3306,
  MASTER_LOG_FILE='mysql-bin.000003',
  MASTER_LOG_POS=1552;

最後輸入命令 show slave status\G 查看狀態。(寫 \G 是換行)

image-20200408164002241.png

如果狀態沒有同步

stop  slave;

start  slave;

show slave status\G

參考文章:https://www.landui.com/help/show-9902.html

 https://blog.csdn.net/yhld456/article/details/89020979

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章