最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySql主從部署的實現(xiàn)步驟

 更新時間:2025年09月29日 10:50:39   作者:Neng_Miao  
本文主要介紹了MySql主從部署的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

1、操作環(huán)境

硬件環(huán)境:香橙派5 aarch64架構(gòu)
軟件環(huán)境:Ubuntu 22.04.3 LTS
軟件版本:mysql-8.0.42
操作方式:mysql_1,mysql_2容器
主節(jié)點:mysql_1
啟動命令:docker run --name mysql_master \
  -p 3308:3306 \
  -v /data/Test/mysql_master/data:/var/lib/mysql \
  -v /data/Test/mysql_master/conf:/etc/mysql/conf.d \
  -v /data/Test/mysql_master/logs:/var/log/mysql \
  -v /etc/localtime:/etc/localtime:ro \
  -e MYSQL_ROOT_PASSWORD=test0123 \
  -e MYSQL_DATABASE=myappdb \
  -e MYSQL_USER=myuser \
  -e MYSQL_PASSWORD=test0123 \
  --restart=always \
  -d mysql:8.0.42 \
  --default-authentication-plugin=mysql_native_password \
  --character-set-server=utf8mb4 \
  --collation-server=utf8mb4_unicode_ci

從節(jié)點:mysql_2
啟動命令:docker run --name mysql_slave \
  -p 3309:3306 \
  -v /data/Test/mysql_slave/data:/var/lib/mysql \
  -v /data/Test/mysql_slave/conf:/etc/mysql/conf.d \
  -v /data/Test/mysql_slave/logs:/var/log/mysql \
  -v /etc/localtime:/etc/localtime:ro \
  -e MYSQL_ROOT_PASSWORD=test0123 \
  -e MYSQL_DATABASE=myappdb \
  -e MYSQL_USER=myuser \
  -e MYSQL_PASSWORD=test0123 \
  --restart=always \
  -d mysql:8.0.42 \
  --default-authentication-plugin=mysql_native_password \
  --character-set-server=utf8mb4 \
  --collation-server=utf8mb4_unicode_ci

2、配置操作

2.1、主節(jié)點配置

(1)、my.cnf配置(容器/etc/mysql/conf.d/my.cnf,宿主機/data/Test/mysql_master/conf/master.cnf)
[client]
default-character-set=utf8mb4
 
[mysql]
default-character-set=utf8mb4
 
[mysqld]
# 設(shè)置時區(qū)
default-time_zone = '+8:00'
#設(shè)置密碼驗證規(guī)則
authentication_policy=mysql_native_password
# 限制導入和導出的數(shù)據(jù)目錄
# 為空,不限制導入到處的數(shù)據(jù)目錄;
secure_file_priv=
init_connect='SET collation_connection = utf8mb4_general_ci'
init_connect='SET NAMES utf8mb4'
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
skip-character-set-client-handshake
skip-name-resolve
 
# 開啟logbin
log_bin=binlog
# binlog日志格式
binlog_format=ROW
# mysql主從備份serverId
server_id=1
 
#參數(shù)優(yōu)化,避免mysql占用太多內(nèi)存
# 減少緩沖池大小
innodb_buffer_pool_size = 64M
# 降低臨時表大小
tmp_table_size = 16M
# 設(shè)置最大連接數(shù)
max_connections = 10

可選參數(shù)

# 0表示讀寫 (主機),1表示只讀(從機)
read-only=0

#設(shè)置日志文件保留的時長,單位是秒
binlog_expire_logs_seconds=6000

#控制單個二進制日志大小。此參數(shù)的最大和默認值是1GB
max_binlog_size=20

#設(shè)置不要復制的數(shù)據(jù)庫
binlog-ignore-db=test

#設(shè)置需要復制的數(shù)據(jù)庫,不寫參數(shù)則默認全部記錄,可以填寫多個
binlog-do-db=需要復制的主數(shù)據(jù)庫名字
例如:
binlog-do-db=dbtest01
binlog-do-db=dbtest02

#設(shè)置binlog格式
binlog_format=STATEMENT
(2)、主節(jié)點數(shù)據(jù)庫創(chuàng)建用戶
#進入容器內(nèi)部
docker exec -it mysql_master /bin/bash
#登錄mysql
mysql -u root -p
#查看數(shù)據(jù)庫
show databases;
#切換到mysql庫
use mysql;
#創(chuàng)建master用戶
create USER 'master'@'%' IDENTIFIED BY 'root';
grant all on *.* to 'master'@'%';
FLUSH PRIVILEGES;

2.2、從節(jié)點配置

(1)、server.cnf配置(容器/etc/mysql/conf.d/server.cnf,宿主機的/data/Test/mysql_2/conf/server.cnf)

[client]
default-character-set=utf8mb4
 
[mysql]
default-character-set=utf8mb4
 
[mysqld]
# 設(shè)置時區(qū)
default-time_zone = '+8:00'
#設(shè)置密碼驗證規(guī)則
authentication_policy=mysql_native_password
# 限制導入和導出的數(shù)據(jù)目錄
# 為空,不限制導入到處的數(shù)據(jù)目錄;
secure_file_priv=
init_connect='SET collation_connection = utf8mb4_general_ci'
init_connect='SET NAMES utf8mb4'
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
skip-character-set-client-handshake
skip-name-resolve
 
#server_id不要和主庫的server_id相同就行
server_id=2
#一般從數(shù)據(jù)庫作為讀數(shù)據(jù)庫
default-storage-engine=MyISAM

(2)、從節(jié)點數(shù)據(jù)庫創(chuàng)建用戶

#進入容器內(nèi)部
docker exec -it mysql_slave /bin/bash
#登錄mysql
mysql -u root -p
#查看數(shù)據(jù)庫
show databases;
#切換到mysql庫
use mysql;
#創(chuàng)建slave用戶
create USER 'slave'@'%' IDENTIFIED BY 'root';
grant all on *.* to 'slave'@'%';
FLUSH PRIVILEGES;

2.3、配置數(shù)據(jù)同步

(1)、登錄master節(jié)點數(shù)據(jù)庫

#查看master節(jié)點binlog日志狀態(tài)
mysql> show master status;
+---------------+----------+--------------+------------------+-------------------+
| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+---------------+----------+--------------+------------------+-------------------+
| binlog.000003 |      841 |              |                  |                   |
+---------------+----------+--------------+------------------+-------------------+

(1)、登錄slave節(jié)點數(shù)據(jù)庫

#停止slave
stop slave;

#查看master節(jié)點binlog日志狀態(tài),MASTER_LOG_FILE、MASTER_LOG_POS根據(jù)master數(shù)據(jù)庫查詢信息配置
 CHANGE MASTER TO MASTER_HOST = '172.17.0.5', #host
 MASTER_PORT = 3306,#
 MASTER_USER = 'master',#binlog
 MASTER_PASSWORD = 'passwd',#binlog
 MASTER_LOG_FILE = 'binlog.000003',#binlog1
 MASTER_LOG_POS = 841;
 
#啟動slave
start slave;

#查看slave庫狀態(tài)
mysql> show slave status\G;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for source to send event
                  Master_Host: 172.17.0.5
                  Master_User: slave
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: binlog.000003
          Read_Master_Log_Pos: 841
               Relay_Log_File: 4b87ab620b91-relay-bin.000002
                Relay_Log_Pos: 323
        Relay_Master_Log_File: binlog.000003
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: 
          Replicate_Ignore_DB: 
           Replicate_Do_Table: 
       Replicate_Ignore_Table: 
      Replicate_Wild_Do_Table: 
  Replicate_Wild_Ignore_Table: 
                   Last_Errno: 0
                   Last_Error: 
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 841
              Relay_Log_Space: 540
              Until_Condition: None
               Until_Log_File: 
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File: 
           Master_SSL_CA_Path: 
              Master_SSL_Cert: 
            Master_SSL_Cipher: 
               Master_SSL_Key: 
        Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 0
                Last_IO_Error: 
               Last_SQL_Errno: 0
               Last_SQL_Error: 
  Replicate_Ignore_Server_Ids: 
             Master_Server_Id: 1
                  Master_UUID: 61357c39-2e76-11f0-9f6f-0242ac110005
             Master_Info_File: mysql.slave_master_info
                    SQL_Delay: 0
          SQL_Remaining_Delay: NULL
      Slave_SQL_Running_State: Replica has read all relay log; waiting for more updates
           Master_Retry_Count: 86400
                  Master_Bind: 
      Last_IO_Error_Timestamp: 
     Last_SQL_Error_Timestamp: 
               Master_SSL_Crl: 
           Master_SSL_Crlpath: 
           Retrieved_Gtid_Set: 
            Executed_Gtid_Set: 
                Auto_Position: 0
         Replicate_Rewrite_DB: 
                 Channel_Name: 
           Master_TLS_Version: 
       Master_public_key_path: 
        Get_master_public_key: 0
            Network_Namespace: 
1 row in set, 1 warning (0.01 sec)

2.4、測試

(1)、master節(jié)點創(chuàng)建測試表及插入數(shù)據(jù)

mysql -u root -h 127.0.0.1 -p -P3308

#登錄master節(jié)點創(chuàng)建簡單數(shù)據(jù)表
CREATE TABLE `test` (
  `id` int NOT NULL AUTO_INCREMENT,
  `Test_str` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

mysql> show tables;
+-------------------+
| Tables_in_myappdb |
+-------------------+
| test              |
+-------------------+
1 row in set (0.00 sec)

mysql> select * from test;
Empty set (0.00 sec)

mysql> INSERT INTO test (Test_str) VALUES( '1');
Query OK, 1 row affected (0.02 sec)

mysql> select * from test;
+----+----------+
| id | Test_str |
+----+----------+
|  1 | 1        |
+----+----------+
1 row in set (0.00 sec)

(2)、slave節(jié)點查看數(shù)據(jù)同步

mysql -u root -h 127.0.0.1 -p -P3309

mysql> use myappdb
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+-------------------+
| Tables_in_myappdb |
+-------------------+
| test              |
+-------------------+
1 row in set (0.01 sec)

mysql> select * from test;
+----+----------+
| id | Test_str |
+----+----------+
|  1 | 1        |
+----+----------+
1 row in set (0.01 sec)

到此這篇關(guān)于MySql主從部署的實現(xiàn)步驟的文章就介紹到這了,更多相關(guān)MySql主從部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL?流程控制函數(shù)示例詳解

    MySQL?流程控制函數(shù)示例詳解

    本文介紹MySQL流程控制函數(shù)及CASE語句,涵蓋IF、IFNULL、NULLIF三種函數(shù)和簡單/搜索CASE兩種結(jié)構(gòu),用于條件判斷和邏輯控制,提升SQL處理靈活性,本文給大家介紹的非常詳細,感興趣的朋友一起看看吧
    2025-09-09
  • 簡單了解 MySQL 中相關(guān)的鎖

    簡單了解 MySQL 中相關(guān)的鎖

    這篇文章主要介紹了簡單了解 MySQL 中相關(guān)的鎖,重點介紹InnoDB中的鎖相關(guān)知識,包括鎖的概念及分類解析,對MySQL鎖相關(guān)感興趣的朋友跟隨小編一起看看吧
    2021-05-05
  • MySql如何解決mysql沒有root用戶問題

    MySql如何解決mysql沒有root用戶問題

    文章主要描述了在MySQL中沒有root用戶的情況如何解決,首先,作者提到由于沒有root用戶,無法進行后續(xù)的權(quán)限設(shè)置和操作,然后,作者詳細介紹了創(chuàng)建root用戶并賦予其所有權(quán)限的步驟,包括解決可能遇到的錯誤,最后,作者總結(jié)了整個過程,并希望大家能夠從中受益
    2025-02-02
  • MySQL數(shù)據(jù)庫頁與索引示例詳解

    MySQL數(shù)據(jù)庫頁與索引示例詳解

    文章主要內(nèi)容是詳細介紹了MySQL索引的工作原理和使用方法,文章介紹了如何通過執(zhí)行計劃查看SQL是否使用了索引,本文結(jié)合實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2025-11-11
  • MySQL自定義函數(shù)和存儲過程示例詳解

    MySQL自定義函數(shù)和存儲過程示例詳解

    這篇文章主要給大家介紹了關(guān)于MySQL自定義函數(shù)和存儲過程的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用MySQL具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-04-04
  • MySQL 如何連接對應的客戶端進程

    MySQL 如何連接對應的客戶端進程

    這篇文章主要介紹了MySQL 如何連接對應的客戶端進程,幫助大家更好的理解和學習MySQL,感興趣的朋友可以了解下
    2020-11-11
  • MySQL中的LOCATE和POSITION函數(shù)使用方法

    MySQL中的LOCATE和POSITION函數(shù)使用方法

    不常用:MySQL中的LOCATE和POSITION函數(shù)
    2010-02-02
  • mysql 前幾條記錄語句之(limit)

    mysql 前幾條記錄語句之(limit)

    mysql 的 top 方法 limit,用來獲取數(shù)據(jù)庫查詢的前幾天記錄。
    2009-11-11
  • 最新版MySQL5.7.19解壓版安裝指南

    最新版MySQL5.7.19解壓版安裝指南

    這篇文章主要介紹了最新版MySQL5.7.19解壓版安裝指南,需要的朋友可以參考下
    2017-08-08
  • MySql中特殊運算符的使用方法總結(jié)

    MySql中特殊運算符的使用方法總結(jié)

    這篇文章主要給大家介紹了關(guān)于MySql中特殊運算符的使用方法,分別介紹的是<=> 安全比較運算符、:= 賦值的作用、@ 用戶變量以及@@ 系統(tǒng)變量,文中介紹的非常詳細,需要的朋友可以參考下
    2018-09-09

最新評論

遵义县| 太康县| 西畴县| 额敏县| 外汇| 马关县| 阿克| 贵溪市| 崇信县| 普陀区| 湖南省| 东乡| 登封市| 沽源县| 厦门市| 宝清县| 隆安县| 哈密市| 西华县| 施秉县| 礼泉县| 波密县| 石家庄市| 冕宁县| 郓城县| 松阳县| 谢通门县| 靖江市| 元氏县| 东明县| 曲阜市| 新晃| 社旗县| 遂昌县| 田阳县| 余姚市| 莱州市| 望奎县| 邹平县| 东莞市| 出国|