MySQL主從搭建(多主一從)

背景:

由于最近公司項目好像有點受不住并發(fā)壓力了,優(yōu)化迫在眉睫飞苇。由于當(dāng)前系統(tǒng)是單數(shù)據(jù)庫系統(tǒng)原因晓锻,能優(yōu)化的地方也盡力優(yōu)化了但是數(shù)據(jù)庫瓶頸還是嚴(yán)重限制了項目的并發(fā)能力。所以就考慮了添加數(shù)據(jù)庫來增大項目并發(fā)能力淮捆。

思路:

1: 創(chuàng)建集中庫: 主要就是存儲歷史數(shù)據(jù)。作為查詢使用本股。
2:創(chuàng)建多個業(yè)務(wù)庫:滿足項目高并發(fā)的能力攀痊。

demo環(huán)境:

  • 1: VM ware 虛擬機 - centOS 7

centOS-1: 192.168.194.3 主 100-------業(yè)務(wù)庫
centOS-2: 192.168.194.4 主 200-------業(yè)務(wù)庫
centOS-3: 192.168.194.5 從 300-------相當(dāng)于集中庫

  • 2:mysql 5.7

步驟

  • 1: 主庫100
    設(shè)置my.cnf。
[mysqld]
lower_case_table_names = 1 # 表名不區(qū)分大小寫
server-id = 100
log_bin = mysql-bin  #開始binlog記錄
binlog_format = MIXED 
#每次事務(wù)提交拄显,MySQL都會把binlog刷下去苟径,是最安全但是性能損耗最大的設(shè)置。
#這樣的話躬审,在數(shù)據(jù)庫所在的主機操作系統(tǒng)損壞或者突然掉電的情況下棘街,系統(tǒng)才有可能丟失1個事務(wù)的數(shù)據(jù)
#但是binlog雖然是順序IO,但是設(shè)置sync_binlog=1承边,多個事務(wù)同時提交遭殉,
#同樣很大的影響MySQL和IO性能。按需設(shè)置炒刁。
sync_binlog = 1 
# 二進制日志自動刪除/過期的天數(shù)恩沽。默認(rèn)值為0,表示不自動刪除翔始。
expire_logs_days = 7
#binlog_cache_size = 128m
#max_binlog_cache_size = 512m
#max_binlog_size = 256M
# 需要同步庫
binlog-do-db = dev
# 不需要同步庫
binlog-ignore-db = mysql
binlog_ignore_db = information_schema
binlog_ignore_db = performation_schema
binlog_ignore_db = sys
datadir=/var/lib/mysql

設(shè)置slave用戶

# mysql -uroot -p 
# password: xxxxxx
# mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY 'root1234';
# mysql> flush privileges;
# quit;
# systemctl restart mysqld;
# show master status \G
#*************************** 1. row ***************************
             File: mysql-bin.000001
         Position: 886
     Binlog_Do_DB: dev
 Binlog_Ignore_DB: mysql,information_schema,performation_schema,sys
Executed_Gtid_Set: 
1 row in set (0.00 sec)
  • 2: 主庫200
    設(shè)置my.cnf罗心。
[mysqld]
lower_case_table_names = 1 # 表名不區(qū)分大小寫
server-id = 200
log_bin = mysql-bin  #開始binlog記錄
binlog_format = MIXED 
#每次事務(wù)提交,MySQL都會把binlog刷下去城瞎,是最安全但是性能損耗最大的設(shè)置渤闷。
#這樣的話,在數(shù)據(jù)庫所在的主機操作系統(tǒng)損壞或者突然掉電的情況下脖镀,系統(tǒng)才有可能丟失1個事務(wù)的數(shù)據(jù)
#但是binlog雖然是順序IO飒箭,但是設(shè)置sync_binlog=1,多個事務(wù)同時提交,
#同樣很大的影響MySQL和IO性能弦蹂。按需設(shè)置肩碟。
sync_binlog = 1 
# 二進制日志自動刪除/過期的天數(shù)。默認(rèn)值為0凸椿,表示不自動刪除削祈。
expire_logs_days = 7
#binlog_cache_size = 128m
#max_binlog_cache_size = 512m
#max_binlog_size = 256M
# 需要同步庫
binlog-do-db =dev
# 不需要同步庫
binlog-ignore-db = mysql
binlog_ignore_db = information_schema
binlog_ignore_db = performation_schema
binlog_ignore_db = sys
datadir=/var/lib/mysql

設(shè)置slave用戶

# mysql -uroot -p 
# password: xxxxxx
# mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY 'root1234';
# mysql> flush privileges;
# quit;
# systemctl restart mysqld;
# show master status \G
#*************************** 1. row ***************************
             File: mysql-bin.000001
         Position: 154
     Binlog_Do_DB: dev
 Binlog_Ignore_DB: mysql,information_schema,performation_schema,sys
Executed_Gtid_Set: 
1 row in set (0.00 sec)
  • 3: 從庫300
    設(shè)置my.cnf。
[mysqld]
lower_case_table_names = 1 # 表名不區(qū)分大小寫 
server-id = 300
master_info_repository = table
relay_log_info_repository = table 
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock  
symbolic-links=0 
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

設(shè)置主庫信息

# mysql -uroot -p 
# password: xxxxxx
# 設(shè)置主庫信息
# mysql> CHANGE MASTER TO  
# ->MASTER_HOST='192.168.194.3',
# ->MASTER_PORT=3306, MASTER_USER='slave', 
# ->MASTER_PASSWORD='root1234',
# ->MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=886 for channel '100';
# mysql> CHANGE MASTER TO  
# ->MASTER_HOST='192.168.194.4',
# ->MASTER_PORT=3306, MASTER_USER='slave', 
# ->MASTER_PASSWORD='root1234',
# ->MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=154  for channel '200';
# 設(shè)置主庫信息
# mysql> flush privileges;
# start slave;
# mysql>show slave status \G  

標(biāo)識同步成功

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

測試脑漫。
隨意主庫:創(chuàng)建表,插入一條數(shù)據(jù)髓抑。

CREATE TABLE `t_user`  (
  `id` varchar(32) NOT NULL COMMENT '主鍵ID',
  `name` varchar(32) CHARACTER SET utf8mb4 NULL COMMENT '用戶名稱',
  `code` varchar(32) CHARACTER SET utf8mb4 NULL COMMENT '用戶編碼',
  `phone_number` varchar(300) CHARACTER SET utf8mb4 NULL COMMENT '電話號碼',
  `create_date` datetime NULL COMMENT '創(chuàng)建時間',
  `update_date` datetime NULL COMMENT '修改時間',
  PRIMARY KEY (`id`)
) COMMENT = '用戶信息表';
INSERT INTO t_user (`id`, `name`, `code`, `phone_number`, `create_date`, `update_date`) 
VALUES ('userId_4', '張三', '123456789', '123456789632', '2020-04-27 22:05:00', '2020-04-27 22:05:00');

從庫查詢

SELECT * FROM t_user;
------+--------+----------+--------------+---------------------+-------------+
| id       | name   | code     | phone_number | create_date  | update_date |
+-------+--------+----------+--------------+---------------------+----------+
| userId_4 | 張三 |123456789|123456789632|2020-04-27 22:05:00|2020-04-27 22:05:00 
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市优幸,隨后出現(xiàn)的幾起案子吨拍,更是在濱河造成了極大的恐慌,老刑警劉巖网杆,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件羹饰,死亡現(xiàn)場離奇詭異,居然都是意外死亡跛璧,警方通過查閱死者的電腦和手機严里,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來追城,“玉大人,你說我怎么就攤上這事燥撞∽” “怎么了?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵物舒,是天一觀的道長色洞。 經(jīng)常有香客問我,道長冠胯,這世上最難降的妖魔是什么火诸? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮荠察,結(jié)果婚禮上置蜀,老公的妹妹穿的比我還像新娘。我一直安慰自己悉盆,他們只是感情好盯荤,可當(dāng)我...
    茶點故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著焕盟,像睡著了一般秋秤。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天灼卢,我揣著相機與錄音绍哎,去河邊找鬼。 笑死鞋真,一個胖子當(dāng)著我的面吹牛蛇摸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播灿巧,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼赶袄,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了抠藕?” 一聲冷哼從身側(cè)響起饿肺,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎盾似,沒想到半個月后敬辣,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡零院,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年溉跃,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片告抄。...
    茶點故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡撰茎,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出打洼,到底是詐尸還是另有隱情龄糊,我是刑警寧澤,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布募疮,位于F島的核電站炫惩,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏阿浓。R本人自食惡果不足惜他嚷,卻給世界環(huán)境...
    茶點故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望芭毙。 院中可真熱鬧筋蓖,春花似錦、人聲如沸稿蹲。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽苛聘。三九已至涂炎,卻和暖如春忠聚,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背唱捣。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工两蟀, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人震缭。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓赂毯,卻偏偏與公主長得像,于是被迫代替她去往敵國和親拣宰。 傳聞我的和親對象是個殘疾皇子党涕,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,507評論 2 359

推薦閱讀更多精彩內(nèi)容