主从复制,主要是复制一份bin-log日志,放在从服务器,重新增删改查的sql语句,实现数据一致
登录mysql
mysql>mysql -uroot -p test
给服务器设置授权用户
授权用户user1从192.168.1.10的从服务器上可以登录主服务器
1、mysql>grant all on *.* to user1@192.168.1.10 identified by "456";
授权
2、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日志,如果写上路径就自动开启了日志
# 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日志是否开启
在客户端查看
mysql> show variables like "%log%"
在linux查看是否开启
# ls /var/lib/mysql
与bin-log有关的日志刷新
mysql>flush logs;
新增一个最新的bin-log日志,刷新一个时间点,此时会增多一个mysql-bin.00000X文件
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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。