mysql8.0主從復(fù)制搭建與配置方案
mysql主從搭建
環(huán)境:ubuntu20.04.1,mysql:8.0.22。
主:192.168.87.3
備:192.168.87.6
安裝數(shù)據(jù)庫
sudo apt-get install mysql-server sudo apt-get install mysql-client sudo apt-get install libmysqlclient-dev
數(shù)據(jù)庫配置
設(shè)置數(shù)據(jù)庫密碼
首次安裝后,使用sudo mysql -uroot -p
直接進(jìn)入,更改root密碼操作如下:
use mysql; ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; FLUSH PRIVILEGES;
主庫設(shè)置
配置/etc/mysql/mysql.conf.d/mysqld.cnf
如下:
[mysqld] user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 datadir = /var/lib/mysql bind-address = 192.168.87.3 # 本機(jī)ip mysqlx-bind-address = 127.0.0.1 key_buffer_size = 16M myisam-recover-options = BACKUP max_connections = 1000 log_error = /var/log/mysql/error.log server-id = 1 log_bin = /var/log/mysql/mysql-bin.log max_binlog_size = 100M binlog_do_db = test binlog_ignore_db = mysql binlog_format = row sync_binlog = 1 innodb_flush_log_at_trx_commit = 1
更改完后重啟數(shù)據(jù)庫
systemctl restart mysql.service
創(chuàng)建同步賬號
CREATE USER 'sync'@'192.168.87.6' IDENTIFIED WITH mysql_native_password BY 'sync'; grant replication slave on *.* to 'sync'@'192.168.87.6';
192.168.87.6為從數(shù)據(jù)庫的IP。
查看配置是否生效
創(chuàng)建數(shù)據(jù)快照
mysqldump --all-databases --master-data > dbdump.db
–master-data
這個(gè)選項(xiàng)會(huì)自動(dòng)加上CHANGE_MASTER_TO給從機(jī)來開始復(fù)制過程。在備份時(shí)使用–databases
(備份特定的數(shù)據(jù)庫)和–ignore-tables
(排除備份特定的表) 選項(xiàng),各個(gè)數(shù)據(jù)庫和表名之間用空格隔開。
設(shè)置遠(yuǎn)程訪問
use mysql; update user set host='%' where user = 'root'; FLUSH PRIVILEGES; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
如果此時(shí)仍無法訪問,查看防火墻是否關(guān)閉。關(guān)閉命令:
sudo ufw disable
或者開放3306端口號。
從數(shù)據(jù)庫配置
配置/etc/mysql/mysql.conf.d/mysqld.cnf
如下:
[mysqld] user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 datadir = /var/lib/mysql bind-address = 192.168.87.6 mysqlx-bind-address = 127.0.0.1 key_buffer_size = 16M myisam-recover-options = BACKUP log_error = /var/log/mysql/error.log server-id = 2 log_bin = /var/log/mysql/mysql-bin.log # binlog_expire_logs_seconds = 2592000 max_binlog_size = 100M binlog_do_db = test binlog_ignore_db = mysql
同步數(shù)據(jù)
在主庫上dump的文件scp到從庫上,然后登錄mysql并執(zhí)行如下命令:
set sql_log_bin=0; source /home/shitianming/Documents/dbdump.db
配置slave
CHANGE MASTER TO MASTER_HOST='192.168.87.3', MASTER_USER='sync', MASTER_PASSWORD='sync', MASTER_PORT=3306, MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=730;
SHELL 復(fù)制 全屏
上述參數(shù)在主庫的mysql客戶端上運(yùn)行
show master status
可看到。
進(jìn)行測試
在主庫的test
數(shù)據(jù)庫里添加數(shù)據(jù),在從庫上看到是否同步。
到此這篇關(guān)于mysql8.0主從復(fù)制搭建與配置方案的文章就介紹到這了,更多相關(guān)mysql8.0主從復(fù)制內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql安裝時(shí)出現(xiàn)各種常見問題的解決方法
mysql數(shù)據(jù)庫安裝不了了!mysql最后一步安裝不上?真頭疼!這篇文章主要為大家詳細(xì)介紹了解決mysql安裝時(shí)出現(xiàn)各種經(jīng)典問題的方法,感興趣的小伙伴們可以參考一下2016-08-08MySQL獲取當(dāng)前時(shí)間、年月與年月日實(shí)例代碼
日期和時(shí)間函數(shù)部分也是我們?nèi)粘9ぷ髦惺褂妙l率比較高的一部分,下面這篇文章主要給大家介紹了關(guān)于MySQL獲取當(dāng)前時(shí)間、年月與年月日的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05解決修改mysql的data_dir所引發(fā)的錯(cuò)誤問題
本文給大家分享解決修改mysql的data_dir所引發(fā)的錯(cuò)誤問題,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友參考下吧2017-04-04Mysql實(shí)現(xiàn)企業(yè)級日志管理、備份與恢復(fù)的實(shí)戰(zhàn)教程
下面小編就為大家分享一篇Mysql實(shí)現(xiàn)企業(yè)級日志管理、備份與恢復(fù)的實(shí)戰(zhàn)教程,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12