windows10 mysql主從複製配置

注意:mysql主從複製,主從版本要一致!
生手永遠在學習的路上,爲了學習mysql主從複製,實現讀寫分離,因而在本地安裝多個mysql實例來進行驗證。
也所以有了下面的筆記,一來自我總結一下經驗,二來獨樂樂不如衆樂樂
下載安裝包  https://dev.mysql.com/downloads/mysql/5.7.html#downloads  ,解壓,在此,我下載的是5.7.24版本
先來配置一下主服務:
1.在此目錄下新建一個my.ini的mysql配置文件,同時新建data,logs文件夾
2.配置my.ini
port = 3305
basedir=C:\ProgramData\MySQL\mysql-5.7.24-master-3305 #(mysql文件夾路徑)
datadir=C:\ProgramData\MySQL\mysql-5.7.24-master-3305\data #(data路徑,存放日誌文件)
log-bin=master-bin 數據庫備份文件名稱,可自由取,生成後會帶文件序列號,服務每重啓一次就會產生一個新文件
server-id = 1
binlog-do-db=test 表示須要備份的數據庫爲test
binlog-ignore-db=mysql 表示不須要備份的數據庫爲mysql
若是兩個都不設的話,從服務器會複製主服務器的所有數據庫 (本人就是此設置)
log-bin=mysql-bin 表示開啓二進制日誌,並把二進制日誌前綴改成mysql-bin
 
3.dos-->cmd,進入bin目錄
(1)進行初始化服務:mysqld --initialize --console,會在控制檯打印初始化信息,此時data目錄下也會生成一些初始化文件,而且控制檯會打印出初始化的密碼
(2)安裝:mysqld --install MYSQLMaster,MYSQLMaster是服務名,本身看心情取,看到Service successfully installed就表示服務安裝成功
這時候,在任務管理器能夠看到MYSQLMaster這個服務,只不過仍是未啓動狀態。
(3)啓動服務:net start MYSQLMaster(也能夠在任務管理器的服務裏面啓動)
 
4.修改密碼,須要加上端口號鏈接數據庫,不然訪問的是默認3306端口的數據庫
mysql -uroot -P3305 -p
 
5.修改帳號密碼:
切換數據庫,用戶信息在mysql庫的user表了裏:use mysql
更新密碼:update user set authentication_string=password("root") where user="root";--password()是mysql的一個加密函數
刷新帳戶信息:flush privileges;
而後運行mysql -uroot -proot就能夠用root用戶名和root密碼登錄了
看看當前初始化的數據庫:show databases;
啓動主服務器後,可繼續在dos界面或者用sqlyog鏈接工具在mysql中建立新用戶受權,也可用直接root用戶,在此我選擇新建我的用戶。
create user 'liuliuyan'@'%' identified by '123456';
給新用戶配置主從複製的權限:
grant replication slave on *.* to 'liuliuyan'@'%' identified by '123456';
注:
@後面的ip地址爲容許鏈接的客戶端的ip地址,若是改成 ‘%’,就表示客戶端沒有ip地址的限制
而後查看主服務master的狀態: (每重啓一次mysql服務,mysql-bin的日誌就會新建一個,因此重啓主服務,從服務必須先中止再從新配置後啓動)
7.查看主庫的當前狀態
show master status;
 
注:
請記住這個File和Position,File是同步給從庫的數據庫文件,到時候受權給從庫時要用
2、從庫安裝和配置
1.從主庫拷貝一份解壓文件並複製一份主庫的my.ini文件過來修改配置
[mysqld]
port = 3308
basedir=C:\ProgramData\MySQL\mysql-5.7.24-slave-3308
datadir=C:\ProgramData\MySQL\mysql-5.7.24-slave-3308\data
log-bin=master-bin
server-id = 2
replicate-do-db=test #同步某庫
#同步某表用 replicate-wild-do-table
replicate-wild-do-table =test.test
replicate-wild-do-table =test.test1
replicate-wild-do-table =test.test2
2.保存後像操做主庫同樣進行初始化,安裝,啓動等操做
3.啓動從庫後執行以下命令指定主庫
change master to master_host='localhost',master_user='liuliuyan',master_password='123456',master_port=3305,master_log_file='master-bin.000003',master_log_pos=1245;
參數詳解:
master_host: 主服務器的IP
master_user: 主服務器上新建立的用戶名
master_password: 用戶的密碼
master_port: 主服務器的端口,若是不曾修改,默認便可。
master_log_file: 主服務器二進制日誌文件的名稱,填寫查看主服務器的master狀態時顯示的File的值
4.啓動從服務的slave複製功能:
start slave;
5.查從服務器的slave狀態
show slave status \G;
若是 Slave_IO_Running 和 Slave_SQL_Running 的值都爲 Yes,則說明主從複製的全部配置已成功,即從服務器已經能夠自動與主服務器的數據庫數據實現同步了。
 
3、兩個狀態是ok就主從配置好了,接下來各位能夠測試一下,個人測試成功了,在主庫建立庫,建立表後,從庫都能同步到。perfect!
相關文章
相關標籤/搜索