一、在兩台Ubuntu機器上安裝mysql1.檢查系統中是否安裝了mysql 這個是已經安裝了的 沒有安裝的話執行上條命令 MySQL的一些簡單管理:啟動MySQL服務: sudo start mysql停止MySQL服務: sudo stop mysql修改 MySQL 的管理員密碼: sudo ...
一、在兩台Ubuntu機器上安裝mysql
1.檢查系統中是否安裝了mysql
這個是已經安裝了的
沒有安裝的話執行上條命令
===============================
MySQL的一些簡單管理:
啟動MySQL服務: sudo start mysql
停止MySQL服務: sudo stop mysql
修改 MySQL 的管理員密碼: sudo mysqladmin -u root password newpassword
二、Master主伺服器上的配置(103.251.237.42)
1.編輯my.cnf (命令查找文件位置:find / -name my.cnf)
在[mysqld]中註釋掉 bind-address = 127.0.0.1 不然mysql無法遠程
server-id = 1 中 1 是可以自己定義的,但是需要保持它的唯一性,是伺服器的唯一標識
log_bin 啟動MySQL二進位日誌
binlog_do_db 指定記錄二進位日誌的資料庫
binlog_ignore_db 指定不記錄二進位日誌的資料庫。
註釋掉 binlog_do_db 和 binlog_ignore_db ,則表示備份全部資料庫
做完這些後,重啟下資料庫
2.登陸主伺服器mysql 創建從伺服器用到的賬戶和許可權;
@之後IP可訪問主伺服器,這裡值定從伺服器IP
新建密碼為masterbackup的masterbackup 用戶,並賦予replication slave 許可權
可以看到用戶masterbackup 已經添加
3.查看主資料庫的狀態
記錄 mysql-bin.000007 以及 276,編寫以下命令待用;
change master to master_host='103.251.237.42',master_port=3306,master_user='masterbackup',master_password='masterbackup',master_log_file='mysql-bin.000007',master_log_pos=276;
三、Slave從伺服器配置上的配置(103.251.237.45)
1.編輯my.cnf(命令查找文件位置:find / -name my.cnf)
在[mysqld]中
relay-log = slave-relay-bin
relay-log-index = slave-relay-bin.index
暫時不清楚這是做什麼的。加入這兩條。
重啟mysql服務
登陸mysql,停止同步命令
執行用上面準備的命令; 登錄Slave從伺服器,連接Master主伺服器:
重新啟動數據同步;
查看Slave信息;如圖兩句都為yes,則狀態正常
四、從主從伺服器測試結果
在主伺服器創建一個資料庫
在從伺服器上查看剛纔創建的資料庫
可以查到,主從伺服器配置完成。
=================================================================================================
因為以上是兩台新機器做的mysql主從配置;所以不需要從主伺服器導入之前的數據到從伺服器;那麼如果主伺服器已經有了一部分數據,就需要增加從主伺服器導入數據到從伺服器的操作;
在配置主伺服器賦予從伺服器許可權後;
1.執行以下命令鎖定資料庫以防止寫入數據;
這個命令是全局讀鎖定,執行命令之後所有庫所有表都將被鎖定為只讀。一般都是用在資料庫聯機備份,這個時候資料庫的寫操作將被阻止,讀操作可以順利進行;
2.退出mysql命令行,導出資料庫到root文件下並命名為all.sql;
3.使用scp命令傳輸資料庫文件all.sql到從伺服器;
4.再次連接資料庫進入mysql命令查看master狀態,記錄file 和position 的值;
5.解鎖數據表;
在配置從伺服器前,先導入數據;
1. 導入主伺服器的資料庫;
2. 之後的配置如之前的從伺服器配置;