主从复制,主要是复制一份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