天天看點

mysql 主從資料庫搭建一、建立目錄二、建立配置檔案三、建立容器四、搭建從庫五、測試

mysql 主從資料庫搭建

  • 一、建立目錄
  • 二、建立配置檔案
  • 三、建立容器
  • 四、搭建從庫
  • 五、測試

一、建立目錄

1)在 dev/htb 下面建立檔案夾 master01

htb]# mkdir mysql/master01 -p

2)進入 master01

3)mkdir conf data 建立兩個檔案夾

4)mkdir conf data 修改權限

二、建立配置檔案

1)進入 conf

2)vim my.cnf

3)添加如下内容

[mysqld]

log-bin=mysql-bin #開啟二進制日志

server-id=1 #服務 id,不可重複

三、建立容器

docker create --name percona-master01 -v /dev/htb/mysql/master01/data:/var/lib/mysql -v /dev/htb/mysql/master01/conf:/etc/my.cnf.d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root percona:5.7.23

2)建立新的連接配接

添加 IP位址,端口号是 3306 使用者名 root 密碼 root

3)連接配接成功之後,運作 指令界面建立查詢

輸入如下指令

create user ‘kgc’@’%’ identified by ‘kgc’;

grant replication slave on . to ‘kgc’@’%’;

flush privileges;

4)重新開機

docker restart percona-master01 && docker logs -f percona-master01

5) 建立查詢,運作

show master status;

mysql 主從資料庫搭建一、建立目錄二、建立配置檔案三、建立容器四、搭建從庫五、測試

6)檢視二進制日志相關的配置項

show global variables like ‘binlog%’;

mysql 主從資料庫搭建一、建立目錄二、建立配置檔案三、建立容器四、搭建從庫五、測試

上面的隻要是有資料就行

7)檢視 server 相關的配置項

show global variables like ‘server%’;

mysql 主從資料庫搭建一、建立目錄二、建立配置檔案三、建立容器四、搭建從庫五、測試

可以看到伺服器的 id 是 1,這個id 一個叢集裡面是唯一的

四、搭建從庫

1)建立目錄

/dev/htb/mysql/slave01

cd /dev/htb/mysql/slave01

進入 slave01

mkdir conf data

2)修改權限

chmod 777 * -R

3)添加配置檔案

進入 conf

vim my.cnf

添加如下内容

[mysqld]

server-id=2 #服務 id,不可重複

sql_mode=‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION’

4)建立容器

docker create --name percona-slave01 -v /data/mysql/slave01/data:/var/lib/mysql -v

/data/mysql/slave01/conf:/etc/my.cnf.d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root

percona:5.7.23

/dev/htb/mysql

docker create --name percona-slave01 -v /dev/htb/mysql/slave01/data:/var/lib/mysql -v /dev/htb/mysql/slave01/conf:/etc/my.cnf.d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root percona:5.7.23

5)啟動

docker start percona-slave01 && docker logs -f percona-slave01

6)指定模式

set sql_mode = ‘’; set sql_mode = ‘NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES’;

CHANGE MASTER TO master_host=‘182.92.88.141’, master_user=‘kgc’, master_password=‘kgc’, master_port=3306, master_log_file=‘mysql-bin.000004’, master_log_pos=154;

7)啟動同步 start slave;

8)檢視 master 狀态 show slave status;

mysql 主從資料庫搭建一、建立目錄二、建立配置檔案三、建立容器四、搭建從庫五、測試

看到的是兩個yes 說明主從資料庫已經搭建完成

五、測試

在主庫建立一個資料庫,建立表格,插入資料,重新整理從庫之後可以看到相同的資料庫,相同的表格,相同的資料,測試成功

繼續閱讀