日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql建立从库同时备份_mysql主从库配置读写分离以及备份

發布時間:2024/8/23 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql建立从库同时备份_mysql主从库配置读写分离以及备份 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1,什么是讀寫分離?

其實就是將數據庫分為了主從庫,一個主庫用于寫數據,多個從庫完成讀數據的操作,

主從庫之間通過某種機制進行數據的同步,是一種常見的數據庫架構。

一個組從同步集群,通常被稱為是一個“分組”。

2,數據庫分組架構解決什么問題?

大多數互聯網業務,往往讀多寫少,這時候,數據庫的讀會首先稱為數據庫的瓶頸,

這時,如果我們希望能夠線性的提升數據庫的讀性能,消除讀寫鎖沖突從而提升數據庫的寫性能,那

么就可以使用“分組架構”(讀寫分離架構)。

用一句話概括,讀寫分離是用來解決數據庫的讀性能瓶頸的。

3,什么是數據庫水平切分?

數據庫水平切分,也是一種常見的數據庫架構,是一種通過算法,將數據庫進行分割的架構。

一個水平切分集群中的每個數據庫,通常稱為一個“分片”。

每一個分片中的數據沒有重合,所有分片中的數據并集組成全部數據。

步驟一:搭建MySQL一主一從同步結構

1)配置主服務器192.168.4.51

]# vim /etc/my.cnf

[mysqld]

server_id=51 //指定服務器ID號

log-bin=master51 //啟用binlog日志,并指定文件名前綴

...

[root@master10 ~]# systemctl restart mysqld //重啟mysqld

2)主服務器授權用戶,并查看binlog日志信息

]# mysql -uroot -p123456

mysql> grant all on *.* to 'repluser'@'%' identified by '123456';

Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> show master status;

+-----------------+----------+--------------+------------------+-------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+-----------------+----------+--------------+------------------+-------------------+

| master51.000001 | 449 | | | |

+-----------------+----------+--------------+------------------+-------------------+

1 row in set (0.00 sec)

3)配置從服務器192.168.4.52

]# vim /etc/my.cnf

[mysqld]

server_id=52 //指定服務器ID號,不要與Master的相同

:wq

]# systemctl restart mysqld

4)配置從服務器192.168.4.52,指定主服務器信息,日志文件、偏移位置(參考MASTER上的狀態輸出)

]# mysql -uroot -p123456

mysql> change master to master_host='192.168.4.51',

-> master_user='repluser',

-> master_password='123456',

-> master_log_file='master51.000001',

-> master_log_pos=449;

Query OK, 0 rows affected, 2 warnings (0.01 sec)

mysql> start slave;

Query OK, 0 rows affected (0.01 sec)

mysql> show slave status\G;

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

Slave_IO_State: Waiting for master to send event

Master_Host: 192.168.4.51

Master_User: repluser

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: master51.000001

Read_Master_Log_Pos: 738

Relay_Log_File: slave20-relay-bin.000002

Relay_Log_Pos: 319

Relay_Master_Log_File: master51.000001

Slave_IO_Running: Yes //IO線程YES

Slave_SQL_Running: Yes //SQL線程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: 738

Relay_Log_Space: 528

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

Master_UUID: 95ada2c2-bb24-11e8-abdb-525400131c0f

Master_Info_File: /var/lib/mysql/master.info

SQL_Delay: 0

SQL_Remaining_Delay: NULL

Slave_SQL_Running_State: Slave 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:

1 row in set (0.00 sec)

5)測試配置,在主服務器本機創建數據庫 aa庫

]# mysql –uroot –p123456

mysql> create database aa;

Query OK, 1 row affected (0.00 sec)

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| aa |

| mysql |

| performance_schema |

| sys |

+--------------------+

5 rows in set (0.00 sec)

6)從服務器上查看,有aa庫

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| aa |

| mysql |

| performance_schema |

| sys |

+--------------------+

5 rows in set (0.00 sec)

備份方式:

冷備份:拷貝數據庫目錄,需要先停機再備份,對于在線不間斷提供業務的不適用

邏輯備份: mysqldump工具,單線程備份,備份速度較慢;mydumper工具,mysqldump升級版,有限制條件

備份單個庫:

備份:mysqldump -uroot -p dbname1> 1.sql

還原:mysql -uroot -p dbname1 < 1.sql

備份多個庫:

備份:mysqldump -uroot -p --database db1 db2 > 1.sql

還原: mysql -uroot -p < 1.sql

備份全部庫:

備份:mysqldump -uroot -p --all-databases > 1.sql

還原:mysql -uroot -p < 1.sql

備份單個表:

備份:mysqldump dbname1 tb1 > 1.sql

還原: mysql -uroot -p dbname1 tb1 < 1.sql

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的mysql建立从库同时备份_mysql主从库配置读写分离以及备份的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。