免安裝版MySql-5.6.41讀寫隔離配置

使用場景mysql

在高併發場景中涉及到數據庫頻繁查詢和插入、修改數據時,若不作讀寫隔離,單服務器上的數據庫負載過大,因爲頻繁的鏈接數據庫,頻繁地釋放鏈接資源,致使執行效率緩慢。爲了給數據庫減壓,咱們須要爲數據庫作負載,此時只須要作讀寫隔離便可,不涉及分庫分表。

設備環境sql

須要至少兩臺安裝MySql-5.6.41的MySql數據庫的服務器,一臺作主數據庫,主要負責寫操做,另外一臺作從數據庫,主要負責讀操做。
Master系統環境:Windows 十、MySql-5.6.41的MySql數據庫、Ip地址:192.168.199.106
Slave 系統環境:Windows 十、MySql-5.6.41的MySql數據庫、Ip地址:192.168.199.134

讀寫隔離條件數據庫

依賴於log_bin日誌進行主從數據庫數據同步,在配置my.ini配置中開啓log_bin日誌時要檢查是否能正常開啓log_bin日誌,若是未開啓log_bin日誌,應當先開啓而後再進行如下步驟配置(很是重要),不然讀寫隔離配置不成功,可查看文章進行log_bin日誌開啓:
https://my.oschina.net/u/4061880/blog/2997297
1、Master配置:修改Master服務器Mysql的my.ini配置
  • 一、新加入配置
# 開啓log_bin日誌;mysql-bin爲日誌的名稱,可自定義
	log_bin= mysql-bin
	#須要備份的數據庫,多個使用英文逗號隔開
	binlog_do_db=ad
	#不須要備份的數據庫,多個使用英文逗號隔開
	binlog_ignore_db=mysql
	#服務Id,不可與其餘service重複
	server_id = 1

注意:binlog_do_db用於指定須要同步的數據庫,binlog_ignore_db指定不須要同步的數據庫,若是這兩個參數都不設置,則從服務器會複製主服務器的全部數據庫。安全

  • 二、保存退出,重啓master MySQL主服務器
關閉mysql服務: net stop mysql
	開啓mysql服務: net start mysql
  • 三、建立鏈接master的用戶名和密碼
使用管理員打開cmd 命令行模式,切換到mysql的bin目錄。
	3.一、建立用戶:
	create user 'root'@'192.168.199.134' identified by '123456';   其中root是用於slave鏈接master的帳戶,192.168.199.134是slave的ip,123456是建立鏈接的密碼,密碼可自定義。
	3.二、授予權限:grant replication slave on *.* to 'root'@'192.168.199.134' identified by 
'123456';
	3.三、刷新權限:flush privileges; 也可重啓Mysql服務
  • 四、查看master的狀態:mysql> show master status;

master主數據庫配置已完成;須要記住 File的值和Position的值,配置Slave數據庫時須要用到!!!!服務器


2、Slave配置:修改Slave服務器Mysql的my.ini配置
  • 一、新加入配置
#與其餘service不重複
	server_id = 2 
	#同步Master的數據庫到Slave的哪個數據庫
	replicate-do-db=ad
  • 二、重啓slave mysql從服務器
關閉mysql服務: net stop mysql
	開啓mysql服務: net start mysql
  • 三、進入slave mysql
3.一、執行 stop slave 禁用slave
	3.二、執行 change master to master_host=' 192.168.199.106',master_user='root',master_password='123456',master_port=3306,master_log_file='mysql-bin.000001',master_log_pos=120;
	[注意:	一、其中 master_host 是主數據庫IP
		二、master_user 是主數據庫中在mysql庫的user表中加入的容許slave從數據庫用於訪問master數據庫的用戶名
		三、master_password 是主數據庫中在mysql庫的user表中加入的容許slave從數據庫用於訪問master數據庫的密碼
		四、master_port 是主數據庫暴露給slave數據庫的端口(若是slave數據庫連不上master數據庫。就要在主數據服務器防火牆中開放端口)
		五、master_log_file 是主數據庫 執行 show master status後獲得的file標識文件名。是配置log-bin後生成的中間日誌文件。用於主從複製
		六、master_log_pos 是主數據庫 執行 show master status後獲得的position文件標識位。用於主從複製]
	3.三、執行 start slave 啓用slave
  • 四、查看slave的狀態:mysql> show slave status;

查看 Slave_IO_Running = Yes;Slave_SQL_Running=Yes 二者是否都等於Yes。則表示主從複製搭建成功。若是Slave_IO_Running = Connecting則說明master得3306端口未開放。需在master服務器的防火牆中配置。併發

4.一、若是Slave_IO_Running 的值一直爲connecting則說明master的端口可能被屏蔽了,須要打開端口。若是主master的端口是不能被外網訪問的話,slave是連不上的。所以須要將master的端口暴露給slave訪問。
	4.二、開啓3306端口
進入控制面板-系統和安全-Windows防火牆。選擇左邊欄的高級設置。

而後點入站規則

進入入站規則後點擊右邊新建規則

選擇要建立的防火牆的類型,這裏選擇端口

填寫端口3306

容許鏈接

最後隨便填寫一個規則名稱就完成了。
相關文章
相關標籤/搜索