1. 主從同步的定義
隨時(shí)備份
優(yōu)點(diǎn):
通過(guò)增加從服務(wù)器來(lái)提高數(shù)據(jù)庫(kù)的性能,
在主服務(wù)器上執(zhí)行寫(xiě)入和更新,
在從服務(wù)器上向外提供讀功能,
可以動(dòng)態(tài)地調(diào)整從服務(wù)器的數(shù)量,從而調(diào)整整個(gè)數(shù)據(jù)庫(kù)的性能。
備份
mysqldump -uroot -phezhuang TCL > TCL.sql
------練習(xí)備份 恢復(fù)? ?
mysqldump -uroot -phezhuang TCL > TCL.sql? ? ? 先show database 再刪除? drop fatabase TCL;? 再查看 show database;? ? ?create database TCL charset utf8;? ? ? ? use TCL;? ? ? ?show tables;? ? ? ?\q? ? ? ? ? ? ??mysql -uroot -phezhuang TCL < TCL.sql? ? use TCL;? ? ? ? show tables;? ??
恢復(fù)
在主服務(wù)器Ubuntu上進(jìn)行備份,執(zhí)行命令:
-u :用戶名
-p :示密碼
--all-databases :導(dǎo)出所有數(shù)據(jù)庫(kù)
--lock-all-tables :執(zhí)行操作時(shí)鎖住所有表,防止操作時(shí)有數(shù)據(jù)修改
~/master_db.sql :導(dǎo)出的備份數(shù)據(jù)(sql文件)位置,可自己指定
主從
mysqldump -uroot -phezhuang --all-databases?--lock-all-tables? > master_db.sql
musql -uroot -phezhuang < master_db.sql
永久解決
修改/etc/my.cnf
添加以下內(nèi)容到/etc/my.conf:
[client]
socket = /Data/mydata/mysql.sock
[mysqld]
socket = /Data/mydata/mysql.sock
可讀可寫(xiě)可執(zhí)行
sudo chmod 777 /etc/my.cnf
重啟服務(wù):右鍵開(kāi)始菜單》搜索‘服務(wù)’》右鍵‘MYySQL57’,重新啟動(dòng)
? ? ? ? 配置從
? ? ? ? sudo vim/etc/mysql.conf.d/mysqld.cnf
? ? ? ? sudo service mysql restart
主服務(wù)器給從服務(wù)器添加賬戶
mysql? -uroot? -phezhuang
GRANT REPLICATIONSLACVE ON *.* TO ‘slave’ @‘%’identified by ‘slave’;
? ?FLUSH PRIVILEGES;
? ? ? ? ? ? ? ---從服務(wù)器,設(shè)置連接到master 主服務(wù)器
? ? change master to master_host = 'IP? ? 地址'
? ? ? ? master_user = 'slave',master_password = 'slave',
? ? ? ? master_log_file = 'mysql-bin.00006',master_log_pos = 590;
--------查看主服務(wù)器的運(yùn)行狀況
show master status ;
? ? ? ? ---查看從服務(wù)器的運(yùn)行狀況
? ? start slave;
-------show slave status;
? ? show slave status\G
? ? ? ? ------如下表示成功
? ? ? ? ? ?Slave_IO_Runing:Yes
? ? ? ? ? ? Slave_SQL_Runing;Yes
? ? ? ? ? ? ----如果有一項(xiàng)是No 都表示未成功
? ? ? ? ? ? ----1 master_log_file 和 master_log_pos 值寫(xiě)錯(cuò)了
? ? ? ? ? ? ?-----2 IP,用戶名,密碼
? ? ? ? ? ? -----3 創(chuàng)建用戶時(shí)REPLICATION? SLAVE 權(quán)限寫(xiě)錯(cuò)了
show database;
? ? show database;
----? ? 創(chuàng)建庫(kù)
create database batjm_info;