91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql replication

發布時間:2020-07-11 23:17:08 來源:網絡 閱讀:415 作者:大陌 欄目:MySQL數據庫

mysql replicaton

環境:主:192.168.48.150

           從:192.168.48.152

簡單的說,就是master把數據庫的改變寫入二進制日志,slave同步這些二進制日志,并根據這些二進制進行數據操作。

mysql Replicaton的用途

1.fail over

2.backup server

3.high performance

master和slave上的數據是一樣的,如果我們從master上進行寫操作,slave上進行讀操作,這就叫讀寫分離。

配置Replication

step1:

Slave是通過MYSQL連接登陸到Master上來讀取二進制日志的。因此需要在Master上給Slave配置權限。

mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'slaveip' IDENTIFIED BY 'replPass';

mysql>FLUSH PRIVILEGES;

eg:在Master上受權:

mysql> grant replication slave on *.* to repl@192.168.48.152 identified by 'repl';

mysql> flush privileges;

在slave上測試連接:

#mysql -h292.168.48.150 -urepl -prepl

可以連上表示沒有問題。

step2:

在Master上要打開二進制日志,并標識server-id。

server-id用于唯一標識主機,數字取值范圍1-2**32-1.

#vi /etc/my.cnf

[mysqld]

log-bin

binlog-format=row

sync-binlog=1

server-id=1

#service mysqld restart

step3:

制作一個Master的完整備份,并且執行prepare。

#這里的原理是,將主要原有的數據備份打包到從上,從服務器直接還原,在這個基礎之上再進行二進制傳輸同步,這樣會節省資源。

我們使用innobackupex這個工具,這個工具可以記錄備份數據的二進制編號,這樣從服務器就會從備份的基礎上再進行同步,也就是增量備份。

#innobackupex --user=dba --password=xxx/var/lib/backup/

#innobackupex --use-memory=500m --apply-log /var/lib/backup/2014-03_16-40-05/

eg: 在master上的配置

#innobackupex安裝:http://my.oschina.net/sansom/blog/160434

# mkdir /var/lib/backup/

# cd /var/lib/backup/

#innobackupex --user=root --password=123456 /var/lib/backup/

#這樣目錄里會生成原始文件

#還要執行一步操作,就是生成innodb日志文件

#innobackupex --use-memory=500m --apply-log /var/lib/backup/原始文件名/

step4:

將備份拷貝至slave,并放入數據文件目錄。

in master:

#yum install openssh-clients -y (master and slave both need to install)

#scp -r /var/lib/backup/2016-03-11_10-26-10/ 192.168.48.152:/var/lib/backup/

in slave:

#service mysqld stop

#mv /var/lib/backup/2016-03-11_07-40-35/* /var/lib/mysql/(生產環境中不要直接覆蓋)

#ls(查看是否所有文件都被mv過去,如果沒有,就再次復制過去)

#cd /var/lib/mysql/

#chown -R mysql. * #拷貝過來的文件要改權限

#service mysqld start(這一步我的mysql啟不來了,原因是沒有關閉selinux)

#查看數據是否同步正確

step5:

在slave上配置server-id,標識服務器。

# vi /etc/my.cnf

[mysqld]

server-id=2

#service mysqld restart

step6:

查看并記錄二進制日志中的position ID.(這個是innobackupex工具為我們生成的)

in slave:

#cd /var/lib/mysql

cat xtrabackup_binlog_info

顯示:mysqld-bin.000001       341

position id 為341

step7:

配置slave replication.

in slave:

mysql>change master to master_host='192.168.48.150',

-->master_user='repl',

-->master_password='repl',

-->master_log_file='mysqld-bin.000001',

-->master_log_pos=341;

step8:

啟動replication,并檢查結果。

in slave:

mysql>start slave;

mysql>show slave status\G;

結果如下:

*************************** 1. row ***************************

               Slave_IO_State: Waiting for master to send event(當前無同步事件)

                  Master_Host: 192.168.48.150(主 ip)

                  Master_User: repl(主用戶)

                  Master_Port: 3306(端口)

                Connect_Retry: 60(重試時間/s)

              Master_Log_File: mysqld-bin.000001(主同步二進制文件)

          Read_Master_Log_Pos: 341(主位置號)

               Relay_Log_File: mysqld-relay-bin.000002(從二進制文件)

                Relay_Log_Pos: 252(從位置號)#主從的號雖然不一樣,但是是有對應關系的,邏輯上是一樣的。

        Relay_Master_Log_File: mysqld-bin.000001

             Slave_IO_Running: Yes(必須為yes時才正常)

            Slave_SQL_Running: Yes(必須為yes時才正常)

            #主會啟運一個進程,從會啟運兩個進程,我們可以執行如下語句查看:

            master_mysql>show processlist\G;

*************************** 1. row ***************************

     Id: 11

   User: repl

   Host: 192.168.48.152:54413

     db: NULL

Command: Binlog Dump

   Time: 707

  State: Has sent all binlog to slave; waiting for binlog to be updated

   Info: NULL

*************************** 2. row ***************************

            slave_mysql>show processlist\G;

            *************************** 2. row ***************************

     Id: 3

   User: system user

   Host: 

     db: NULL

Command: Connect

   Time: 680

  State: Waiting for master to send event

   Info: NULL

*************************** 3. row ***************************

     Id: 4

   User: system user

   Host: 

     db: NULL

Command: Connect

   Time: 680

  State: Has read all relay log; waiting for the slave I/O thread to update it

   Info: NULL

3 rows in set (0.00 sec)

#從的兩個進程,一個用于接收二進制,另一個用于解析二進制,執行語句。

              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: 341

              Relay_Log_Space: 408

              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)

這樣就同步了,在主上操作的,從都會同步嘍。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大宁县| 江津市| 镇平县| 舟曲县| 淮北市| 原阳县| 绥中县| 凉山| 筠连县| 望城县| 曲沃县| 小金县| 周宁县| 鲜城| 临沧市| 登封市| 临漳县| 新丰县| 赞皇县| 高州市| 广西| 呼和浩特市| 门头沟区| 佛学| 当涂县| 南汇区| 鄢陵县| 蕉岭县| 疏附县| 华池县| 罗平县| 海晏县| 武定县| 南平市| 蛟河市| 易门县| 曲阜市| 滕州市| 伊金霍洛旗| 大姚县| 尤溪县|