主從複製,主要是複製一份bin-log日誌,放在從服務器,從新增刪改查的sql語句,實現數據一致mysql
登陸mysqllinux
mysql>mysql -uroot -p test
給服務器設置受權用戶
受權用戶user1從192.168.1.10的從服務器上能夠登陸主服務器sql
一、mysql>grant all on *.* to user1@192.168.1.10 identified by "456"; 受權 二、mysql>grant replication slave on *.* user@192.168.10.2 identified by "456";
查看用戶受權表數據庫
select user,host,password from mysql.user;
mysql的bin-log日誌,是一種二進制日誌,保存了全部的增刪改日誌服務器
開啓mysql bin-log日誌,若是寫上路徑就自動開啓了日誌socket
# vi /etc/my.cnf [mysqld] port=3306 socket=/var/lib/mysql/mysql.sock #mysql慢查詢的日誌,若是查詢sql超過了定義的時間,例如10秒,就會存放在這裏面,能夠按期查詢超時的sql調優 log-slow-queries=mysql-slow.log log-error=mysql.err #mysql錯誤的日誌 log=mysql.log #mysql自身的日誌 log-bin=mysql-bin
查看bin-log日誌是否開啓
在客戶端查看ide
mysql> show variables like "%log%"
在linux查看是否開啓編碼
# ls /var/lib/mysql
與bin-log有關的日誌刷新日誌
mysql>flush logs;
新增一個最新的bin-log日誌,刷新一個時間點,此時會增多一個mysql-bin.00000X文件code
mysql>show master status;
查看最後一個bin日誌
mysql>show master logs;
查看全部的bin日誌
mysql>reset master;
清空全部bin-log日誌
#查看bin-log日誌裏面的東西 用mysqlbinlog mysql-00001.bin時報錯,說是字符集問題,因此使用--no-defaults解決 mysql>mysqlbinlog --no-defaults mysql-00001.bin
查看mysql服務器狀態:
mysql> \s;
數據庫須要設置的字符編碼 collation-server=utf-8_general_ci character-set-server=utf8 default-character-set=utf8