<p id="rrtt5"></p><ruby id="rrtt5"></ruby>

      系統城裝機大師 - 固鎮縣祥瑞電腦科技銷售部宣傳站!

      當前位置:首頁 > 數據庫 > Mysql > 詳細頁面

      mysql8.0主從復制搭建與配置方案

      時間:2022-10-02來源:www.1999hs.com作者:電腦系統城

      mysql主從搭建

      環境:ubuntu20.04.1,mysql:8.0.22。
      主:192.168.87.3
      備:192.168.87.6

      安裝數據庫

      1
      2
      3
      sudo apt-get install mysql-server
      sudo apt-get install mysql-client
      sudo apt-get install libmysqlclient-dev

      數據庫配置

      設置數據庫密碼

      首次安裝后,使用sudo mysql -uroot -p直接進入,更改root密碼操作如下:

      1
      2
      3
      use mysql;
      ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
      FLUSH PRIVILEGES;

      主庫設置

      配置/etc/mysql/mysql.conf.d/mysqld.cnf如下:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      [mysqld]
       
      user        = mysql
      pid-file    = /var/run/mysqld/mysqld.pid
      socket  = /var/run/mysqld/mysqld.sock
      port        = 3306
      datadir = /var/lib/mysql
       
       
      bind-address        = 192.168.87.3 # 本機ip
      mysqlx-bind-address = 127.0.0.1
       
       
      key_buffer_size     = 16M
       
      myisam-recover-options  = BACKUP
       
      max_connections        = 1000
       
      log_error = /var/log/mysql/error.log
       
      server-id       = 1
      log_bin         = /var/log/mysql/mysql-bin.log
      max_binlog_size   = 100M
      binlog_do_db          = test
      binlog_ignore_db      = mysql
      binlog_format = row
      sync_binlog = 1
      innodb_flush_log_at_trx_commit = 1

      更改完后重啟數據庫

      1 systemctl restart mysql.service

      創建同步賬號

      1
      2
      CREATE USER 'sync'@'192.168.87.6' IDENTIFIED WITH mysql_native_password BY 'sync';
      grant replication slave on *.* to 'sync'@'192.168.87.6';

      192.168.87.6為從數據庫的IP。

      查看配置是否生效

       

      創建數據快照

      1 mysqldump --all-databases --master-data &gt; dbdump.db

      –master-data這個選項會自動加上CHANGE_MASTER_TO給從機來開始復制過程。在備份時使用–databases(備份特定的數據庫)和–ignore-tables(排除備份特定的表) 選項,各個數據庫和表名之間用空格隔開。

      設置遠程訪問

      1
      2
      3
      4
      use mysql;
      update user set host='%' where user = 'root';
      FLUSH PRIVILEGES;
      GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

      如果此時仍無法訪問,查看防火墻是否關閉。關閉命令:

      1 sudo ufw disable

      或者開放3306端口號。

      從數據庫配置

      配置/etc/mysql/mysql.conf.d/mysqld.cnf如下:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      [mysqld]
       
      user        = mysql
      pid-file    = /var/run/mysqld/mysqld.pid
      socket  = /var/run/mysqld/mysqld.sock
      port        = 3306
      datadir = /var/lib/mysql
       
      bind-address        = 192.168.87.6
      mysqlx-bind-address = 127.0.0.1
      key_buffer_size     = 16M
       
      myisam-recover-options  = BACKUP
       
      log_error = /var/log/mysql/error.log
       
      server-id       = 2
      log_bin         = /var/log/mysql/mysql-bin.log
      # binlog_expire_logs_seconds    = 2592000
      max_binlog_size   = 100M
      binlog_do_db        = test
      binlog_ignore_db    = mysql

      同步數據

      在主庫上dump的文件scp到從庫上,然后登錄mysql并執行如下命令:

      1
      2
      set sql_log_bin=0;
      source /home/shitianming/Documents/dbdump.db

      配置slave

      1
      2
      3
      4
      5
      6
      7
      CHANGE MASTER TO
      MASTER_HOST='192.168.87.3',
      MASTER_USER='sync',
      MASTER_PASSWORD='sync',
      MASTER_PORT=3306,
      MASTER_LOG_FILE='mysql-bin.000003',
      MASTER_LOG_POS=730;

      SHELL 復制 全屏

      上述參數在主庫的mysql客戶端上運行show master status可看到。

      進行測試

      在主庫的test數據庫里添加數據,在從庫上看到是否同步。

      分享到:

      相關信息

      • MySQL通配符與正則表達式搜過濾數據詳解

        通配符過濾 通配符 % 通配符 _ 技巧 正則表達式過濾 字符匹配 其他字符 對比 正則表達式測試...

        2022-10-02

      • MySQL樂觀鎖和悲觀鎖具體實現

        對于MySQL中的樂觀鎖和悲觀鎖,可能很多的開發者還不是很熟悉,并不知道其中具體是如何實現的。本文就針對這個問題做一個實際案例演示,讓你徹底明白這兩種鎖的區別。...

        2022-09-11

      系統教程欄目

      欄目熱門教程

      人氣教程排行

      站長推薦

      熱門系統下載

      天堂资源中文WWW,久久精品女人天堂AV免费观看,无码专区一ⅤA亚洲V天堂,免费观看在线AⅤ天堂视频