久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

怎樣實現MYSQL主從搭建

145次閱讀
沒有評論

共計 4924 個字符,預計需要花費 13 分鐘才能閱讀完成。

怎樣實現 MYSQL 主從搭建,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

一主單從
步驟:
1、配置 master 主機的 my.cnf,配置內容如下:

[mysqld]
user=mysql
pid-file=/var/run/mysqld/mysqld.pid
socket=/var/run/mysqld/mysqld.sock
port=3306
basedir=/usr
datadir=/var/lib/mysql
tmpdir=/tmp
log-bin=master-bin
log-bin-index=master-bin.index
server-id=1

配置完之后重啟,使 my.cnf 生效

創建復制用戶,并賦予 replication slave 權限給 slave 節點

mysql create user repl_user;

mysql grant replication slave on *.* to repl_user@mt identified by xyzzy;

2、配置 slave 從機的 my.cnf,配置內容如下:

[mysqld]
user=mysql
pid-file=/var/run/mysqld/mysqld.pid
socket=/var/run/mysqld/mysqld.sock
port=3306
basedir=/usr
datadir=/var/lib/mysql
tmpdir=/tmp
server-id=2
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin

在 slave 上配置 slave 與 master 的連接

change master to 
master_host= mo ,
master_port= 3306 ,
master_user repl_user ,
master_password= xyzzy ,
master_log_file= mysql-bin.00002 , 
master_log_pos=101;

啟動 slave
start slave

3、查看 slave 的狀態

mysql show slave status \G
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: mo
                  Master_User: repl_user
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: master-bin.000001
          Read_Master_Log_Pos: 946
               Relay_Log_File: slave-relay-bin.000002
                Relay_Log_Pos: 1092
        Relay_Master_Log_File: master-bin.000001
             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: 946
              Relay_Log_Space: 1247
              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: 
1 row in set (0.00 sec)

如果 Slave_IO_Running、Slave_SQL_Running 均為 yes 則證明配置成功,如果有其中一個為 no,如下所示:

mysql show slave status \G
*************************** 1. row ***************************
               Slave_IO_State: Connecting to master
                  Master_Host: mo
                  Master_User: repl_user
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: 
          Read_Master_Log_Pos: 4
               Relay_Log_File: slave-relay-bin.000001
                Relay_Log_Pos: 4
        Relay_Master_Log_File: 
             Slave_IO_Running: No
            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: 0
              Relay_Log_Space: 106
              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: NULL
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 2013
                Last_IO_Error: error connecting to master repl_user@mo:3306 – retry-time: 60  retries: 86400
               Last_SQL_Errno: 0
               Last_SQL_Error: 
1 row in set (0.00 sec)

則查看 Last_IO_Errno、Last_IO_Error 參數,和 datadir 目錄下的 hostname.err 文件找出錯誤日志信息,如下所示

[root@mt ~]# cd /var/lib/mysql/
[root@mt mysql]# ls
ibdata1  ib_logfile0  ib_logfile1  master.info  mt.err  mysql  relay-log.info  slave-relay-bin.000001  slave-relay-bin.index  test
[root@mt mysql]# cd mt.err 
-bash: cd: mt.err: Not a directory
[root@mt mysql]# tail -f n 200 mt.err 
tail: cannot open `n for reading: No such file or directory
tail: cannot open `200 for reading: No such file or directory
== mt.err ==
160731 19:27:43  InnoDB: Initializing buffer pool, size = 8.0M
160731 19:27:43  InnoDB: Completed initialization of buffer pool
160731 19:27:43  InnoDB: Started; log sequence number 0 44233
160731 19:27:43 [Note] Event Scheduler: Loaded 0 events
160731 19:27:43 [Note] /usr/libexec/mysqld: ready for connections.
Version: 5.1.71  socket: /var/run/mysqld/mysqld.sock  port: 3306  Source distribution
160731 19:47:02 [Note] CHANGE MASTER TO executed . Previous state master_host= , master_port= 3306 , master_log_file= , master_log_pos= 4 . New state master_host= mo , master_port= 3306 , master_log_file= , master_log_pos= 4 .
160731 19:47:09 [Note] Slave SQL thread initialized, starting replication in log FIRST at position 0, relay log ./slave-relay-bin.000001 position: 4
160731 19:47:09 [ERROR] Slave I/O: error connecting to master repl_user@mo:3306 – retry-time: 60  retries: 86400, Error_code: 2005
160731 21:13:09 [ERROR] Slave I/O: error connecting to master repl_user@mo:3306 – retry-time: 60  retries: 86400, Error_code: 2013
上述錯誤為 repl_user 沒有給 slave 機 replication slave 權限

可以查看 select user,host,password from mysql.user; 看到 user 在哪個 host 上可以登陸,如果 repl_user 對應的 host 沒有 slave 節點對應的主機名,則 repl_user 用戶無法在 slave 機上進行遠程連接到 master 所在的節點機。

可以使用 show binary logs 查看 logbin 的日志信息
可以使用 show master status \G 查看主節點信息

關于怎樣實現 MYSQL 主從搭建問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注丸趣 TV 行業資訊頻道了解更多相關知識。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-19發表,共計4924字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 江陵县| 太白县| 志丹县| 建德市| 蒙城县| 精河县| 镇江市| 黔西| 禄丰县| 清丰县| 临邑县| 汽车| 洪湖市| 桐庐县| 余干县| 收藏| 宜章县| 区。| 沂水县| 安顺市| 阿鲁科尔沁旗| 宜昌市| 灵武市| 弥渡县| 玉门市| 正镶白旗| 双牌县| 凤台县| 庆阳市| 韩城市| 噶尔县| 航空| 渝中区| 祥云县| 阿克苏市| 玉树县| 安溪县| 蛟河市| 华亭县| 营口市| 威远县|