mysql-grant用户授权和bin-log日志

813 查看

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