雲服務器上進行MySQL主從配置
配置時環境:騰訊雲服務器,雲服務器上的MySQL5.7,未配置過主從,如環境不一致,請謹慎操作。我的公網IP是119.29.234.43,內網ip是10.104.190.222,請修改為你自己的並在下面代碼包含公網IP的地方進行相應的修改。(藍色字體是所有操作主機的命令步驟,綠色字體是操作從機的命令步驟,底部是所有命令集合)
騰訊雲服務器如圖所示:
具體步驟:
1.登錄雲服務器(如主機,從機未安裝jdk和MySQL請操作2 3 ,否請跳過),下面是控制臺用戶命令操作
2.安裝JDK:
sudo apt-get install openjdk-8-jdk
y
3.安裝MySQL:
sudo apt-get install mysql-server
賬號: root
密碼: root
主機配置
4.修改mysqld.cnf文件信息
cd /etc/mysql/mysql.conf.d/
sudo vim mysqld.cnf 此時打開mysqld.cnf出現大量信息
i 進入編輯模式
↓ 一直操作向下箭頭,找到信息底部白色的兩行代碼,這部分代碼即是被註釋的代碼,如圖:
刪除#,修改binglog_do_db = db_zhanye_sm,binlog_ignore_db = mysql 。 其中db_zhanye_sm是要同步的數據庫名稱,操作後如下圖所示
找到bing-adress 把127.0.0.1修改為騰訊雲主機內網ip 10.104.190.222,不修改會導致等下MySQL無法重啟
Esc 退出vim編輯狀態
:wq 保存修改內容,並回到控制臺(第一步":"具體操作按同時按住Shift ;兩個鍵 第二步w 第三步q 第四步回車鍵 )
mysql -u root -p 打開數據庫,接下來輸入數據庫密碼
root 輸入密碼後進入數據庫
接下來是創建一個新用戶用來遠程連接使用:
在MySQL中輸入此以下命令 說明:username - 你將創建的用戶名, host - 指定該用戶在哪個主機上可以登陸,如果是本地用戶可用localhost, 如果想讓該用戶可以從任意遠程主機登陸,可以使用通配符%. password - 該用戶的登陸密碼,密碼可以為空,如果為空則該用戶可以不需要密碼登陸服務器。MySQL裏面輸入命令:CREATE USER [email protected]
create user [email protected]%‘ IDENTIFIED BY ‘123‘;
在MySQL中操作此命令,此處是授權命令。例如:GRANT privileges ON databasename.tablename TO [email protected];privileges - 用戶的操作權限,如SELECT , INSERT , UPDATE 等(詳細列表見該文最後面).如果要授予所的權限則使用ALL.;databasename - 數據庫名,tablename-表名,如果要授予該用戶對所有數據庫和表的相應操作權限則可用*表示, 如*.*. 例子:( GRANT SELECT, INSERT ON test.user TO [email protected]%‘;)
GRANT SELECT,INSERT ON db_zhanye_sm.* TO [email protected]%‘;
用以上命令授權的用戶不能給其它用戶授權,如果想讓該用戶可以授權,用以下命令: GRANT privileges ON databasename.tablename TO [email protected] WITH GRANT OPTION;
GRANT privileges ON db_zhanye_sm.test TO [email protected]%‘ WITH GRANT OPTION;
授予從機復制表權限,示例:GRANT REPLICATION SLAVE ON *.* TO [email protected] IDENTIFIED BY ‘password‘;
GRANT REPLICATION SLAVE ON *.* TO [email protected]%‘ IDENTIFIED BY ‘123‘;
exit 退出數據庫操作
sudo /etc/init.d/mysql restart 重啟數據庫
mysql -u root -p 登錄數據庫,
root
show master status; 顯示信息如下圖所示,註:執行完此步驟後不要再操作主服務器MYSQL,防止主服務器狀態值變化。記錄File 和 Position的值並給從機使用;
從機配置:
雲服務器上進行MySQL主從配置