国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

MySQL主從搭建(多主一從)的實(shí)現(xiàn)思路與步驟

瀏覽:36日期:2023-10-03 09:27:05
背景:

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

思路:

1: 創(chuàng)建集中庫: 主要就是存儲歷史數(shù)據(jù)。作為查詢使用。

2:創(chuàng)建多個業(yè)務(wù)庫:滿足項(xiàng)目高并發(fā)的能力。

demo環(huán)境:

1: VM ware 虛擬機(jī) - 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 = 100log_bin = mysql-bin #開始binlog記錄binlog_format = MIXED #每次事務(wù)提交,MySQL都會把binlog刷下去,是最安全但是性能損耗最大的設(shè)置。#這樣的話,在數(shù)據(jù)庫所在的主機(jī)操作系統(tǒng)損壞或者突然掉電的情況下,系統(tǒng)才有可能丟失1個事務(wù)的數(shù)據(jù)#但是binlog雖然是順序IO,但是設(shè)置sync_binlog=1,多個事務(wù)同時提交,#同樣很大的影響MySQL和IO性能。按需設(shè)置。sync_binlog = 1 # 二進(jìn)制日志自動刪除/過期的天數(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 = mysqlbinlog_ignore_db = information_schemabinlog_ignore_db = performation_schemabinlog_ignore_db = sysdatadir=/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,sysExecuted_Gtid_Set: 1 row in set (0.00 sec)

2: 主庫200

設(shè)置my.cnf。

[mysqld]lower_case_table_names = 1 # 表名不區(qū)分大小寫server-id = 200log_bin = mysql-bin #開始binlog記錄binlog_format = MIXED #每次事務(wù)提交,MySQL都會把binlog刷下去,是最安全但是性能損耗最大的設(shè)置。#這樣的話,在數(shù)據(jù)庫所在的主機(jī)操作系統(tǒng)損壞或者突然掉電的情況下,系統(tǒng)才有可能丟失1個事務(wù)的數(shù)據(jù)#但是binlog雖然是順序IO,但是設(shè)置sync_binlog=1,多個事務(wù)同時提交,#同樣很大的影響MySQL和IO性能。按需設(shè)置。sync_binlog = 1 # 二進(jìn)制日志自動刪除/過期的天數(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 = mysqlbinlog_ignore_db = information_schemabinlog_ignore_db = performation_schemabinlog_ignore_db = sysdatadir=/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,sysExecuted_Gtid_Set: 1 row in set (0.00 sec)

3: 從庫300

設(shè)置my.cnf。

[mysqld]lower_case_table_names = 1 # 表名不區(qū)分大小寫 server-id = 300master_info_repository = tablerelay_log_info_repository = table datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sock symbolic-links=0 log-error=/var/log/mysqld.logpid-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: YesSlave_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 總結(jié)

到此這篇關(guān)于MySQL主從搭建(多主一從)的實(shí)現(xiàn)思路與步驟的文章就介紹到這了,更多相關(guān)MySQL主從搭建內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: MySQL 數(shù)據(jù)庫
相關(guān)文章:
主站蜘蛛池模板: 集贤县| 揭阳市| 山东省| 沙河市| 牙克石市| 建德市| 江川县| 漳平市| 怀化市| 务川| 孝义市| 陆川县| 陆良县| 榆中县| 雷山县| 高州市| 桦甸市| 宁波市| 石泉县| 临清市| 利辛县| 久治县| 诸暨市| 谢通门县| 南安市| 北票市| 济宁市| 铜川市| 洱源县| 崇信县| 抚远县| 松江区| 黄平县| 郴州市| 昭觉县| 福清市| 宁南县| 墨脱县| 威宁| 桦川县| 大田县|