亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

MySQL主從復制認識

發布時間:2020-02-25 12:48:05 來源:網絡 閱讀:331 作者:Blue后花園 欄目:系統運維
  • MySQL主從復制作用
    1)、什么是MySQL主從復制
    MySQL主從復制是指數據可以從一個MySQL數據庫服務器主節點復制到一個或多個MySQL數據庫從節點。MySQL默認采用異步復制方式,這樣從節點不用一直訪問主服務器來更新自己的數據,數據的更新可以在遠程連接上進行,從節點可以復制主數據庫中的所有數據庫或者特定的數據庫。
    2)、MySQL主從復制作用
    一、數據熱備
    作為備數據庫,當主數據庫服務器發生故障后,可切換到從數據庫繼續工作,避免數據丟失。
    二、讀寫分離
    可支持MySQL數據庫服務器支持更大的并發。數據讀寫操作可分配在不同的服務器間進行。如操作報表中尤其重要,由于部分報表SQL語句非常的慢,會導致鎖表,影響前臺服務。使用主從復制,前臺使用master,負責寫,報表使用slave,負責讀,那么報表SQL將不會造成前臺鎖表,保證了前臺正常運行。
    三、架構擴展
    隨著業務量越來越大,I/O訪問頻率過高,單機可能無法滿足。此時做多庫的存儲,如一主多從方式,以降低磁盤I/O訪問,提高單個機器的I/O性能。
  • MySQL主從復制原理
    MySQL數據復制的基礎是二進制日志文件(binary log file)。一臺MySQL數據庫一旦啟用二進制日志后,其作為master節點,數據庫中所有操作都會以“事件”的方式記錄在二進制日志中,其他數據庫作為slave通過一個I/O線程與主服務器保持通信,并監控master的二進制日志文件的變化,如發現master二進制日志文件發生變化,則會把變化復制到自己的中繼日志中,然后slave的一個SQL線程會把相關的“事件”執行到自己的數據庫中,以此實現從數據庫和主數據庫的一致性,也就實現了主從復制。
    MySQL主從復制認識
    總結如下:
    1)、master將操作語句記錄到binlog日志中,然后授予slave遠程連接的權限(master上創建授權的用戶,開啟binlog二進制日志功能;通常為了數據安全考慮,slave也開啟binlog功能)。
    2)、slave開啟兩個線程:IO線程和SQL線程。IO線程負責讀取master的binlog內容到中繼日志relay log里;SQL線程負責從relay log日志里讀出binlog內容,并更新到slave的數據庫里,這樣就能保證slave數據和master數據保持一致了。
    3)、Mysql主從復制至少需要兩個Mysql服務,當然Mysql服務可以分布在不同的服務器上,也可以在一臺服務器上啟動多個MySQL服務。
    4)、Mysql主從復制最好確保master和slave服務器上的Mysql版本相同。
  • MySQL主從形式
    常見的主從形式:
    一主一從
    MySQL主從復制認識
    一主兩從、一主多從
    MySQL主從復制認識
    聯級復制
    MySQL主從復制認識
  • MySQL主從復制操作
    OS:CentOS7
    主從形式:一主一從
    實現MySQL主從復制需要進行的配置:
    主服務器
    開啟二進制日志
    配置唯一的server-id
    獲得master二進制日志文件名及位置
    創建一個用于slave和master通信的用戶賬號
    從服務器
    配置唯一的server-id
    使用master分配的用戶賬號讀取master二進制日志
    啟用slave服務
    具體操作:
    主服務器操作
    1)、修改主數據庫服務器配置文件my.cnf
    server_id = 1                #唯一標識,主庫從庫不能重復
    log_bin = mysql-bin          #開啟日志
    binlog_format=MIXED         #日志記錄的格式
    max_binlog_size = 512M     #單個日志文件最大
    expire_logs_day = 3          #日志有效期(天)
    binlog_do_db = test1,test2     #日志記錄那些數據庫
    binlog_ignore_db = mysql,performance_schema,information_schema   #日志記錄忽略那些數據庫

    2)、創建用于同步賬戶

    mysql> CREATE USER 'user'@'10.10.10.11' IDENTIFIED BY 'passwd';    #創建用戶
    mysql> GRANT REPLICATION SLAVE ON *.* TO 'user'@'10.10.10.11';    #分配權限,只能10.10.10.11從服務器連接
    mysql>flush privileges;

    3)、查看master狀態
    show master status命令記錄二進制文件名(mysql-bin.000003)和position位置(77)。

    mysql > SHOW MASTER STATUS;
    +------------------+----------+--------------+------------------+
    | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
    +------------------+----------+--------------+------------------+
    | mysql-bin.000003 | 77       | test         | manual,mysql     |
    +------------------+----------+--------------+------------------+

    從服務器操作
    1)、修改從數據庫服務器配置文件my.cnf

    server_id = 2
    log_bin = mysql-bin     #開啟日志
    binlog_format=MIXED     #日志記錄的格式
    max_binlog_size = 512M     #單個日志文件最大
    expire_logs_day = 3   #日志有效期(天)
    replicate_do_db = test1,test2     #slave上配置,指定slave要復制哪個庫
    replicate-ignore-db=mysql,performance_schema,information_schema     #slave上配置,指定slave要忽略哪些庫
    relay_log_recovery = 1     #從庫建議開啟,有利于數據一致性
    log_slave_updates = 1      #如果從庫還會用做主庫,建議開啟

    2)、設置同步信息
    先停止同步

    mysql>stop slave;

    設置同步信息

    mysql> CHANGE MASTER TO
    ->     MASTER_HOST='10.10.10.10',
    ->     MASTER_USER='user',
    ->     MASTER_PASSWORD='passwd',
    ->     MASTER_LOG_FILE='mysql-bin.000003',
    ->     MASTER_LOG_POS=77;

    其中master_log_file 和 master_log_pos為上面主庫show master status命令記錄的信息。
    3)、啟動slave 同步進程

    mysql>start slave;

    4)、slave狀態查看
    show slave status\G 命令查看,主要查看這幾項:

    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes
    Master_Log_File: mysql-bin.000003
    Relay_Master_Log_File: mysql-bin.000003
    Read_Master_Log_Pos: 2720
    Exec_master_log_pos: 2720

    Slave_IO_Running和Slave_SQL_Running都為YES,表示主從同步設置成功了。
    驗證操作,如在master數據庫的test數據庫的一張表中插入一條數據,在slave的test庫的相同數據表中查看是否有新增的數據,即可驗證主從復制功能是否有效,還可以關閉slave(mysql>stop slave;),然后再修改master,看slave是否也相應修改(停止slave后,master的修改不會同步到slave),就可完成MySQL主從復制功能的驗證了。

向AI問一下細節
推薦閱讀:
  1. Appium基礎認識
  2. 認識JSON

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

AI

海盐县| 林周县| 周宁县| 周至县| 运城市| 玛沁县| 南木林县| 四会市| 金寨县| 屏东县| 广西| 恩施市| 工布江达县| 宝坻区| 和平县| 宁陕县| 温宿县| 泗水县| 宁德市| 工布江达县| 葫芦岛市| 建湖县| 奉贤区| 遵义县| 会同县| 孝昌县| 高唐县| 苍南县| 伊通| 昭通市| 奉化市| 高台县| 镇平县| 辉南县| 天峻县| 江西省| 广南县| 丰镇市| 福安市| 加查县| 武清区|