在这一章节里, 我们来了解下如何在 Mysql 中进行用户授权及主从复制
这里先来了解下 Mysql 主从复制的优点:
1、 如果主服务器出现问题, 可以快速切换到从服务器提供的服务
2、 可以在从服务器上执行查询操作, 降低主服务器的访问压力
3、 可以在从服务器上执行备份, 以避免备份期间影响主服务器的服务
注意一般只有更新不频繁的数据或者对实时性要求不高的数据可以通过从服务器查询, 实时性要求高的数据仍然需要从主数据库获得
在这里我们首先得完成用户授权, 目的是为了给从服务器有足够的权限来远程登入到主服务器的 Mysql
在这里我假设
主服务器的 IP 为: 192.168.10.1
从服务器的 IP 为: 192.168.10.2
Mysql grant 用户授权
查看 Mysql 的用户表
结果如下:
从如上表中看以看出 root 用户只能从本机登入 Mysql, 也就是来自 localhost 或者 127.0.0.1
现在来通过 grant 命令来添加授权用户
通过了 grant 命令给予了来自 192.168.10.2 的用户 user1 权限, 允许其远程登录, 如下:
此时就可以在 192.168.10.2 的机器上访问 10.1 的 Mysql 了, 如下:
Mysql bin-log 日志
开启 bin-log 二进制日志, 它保存了所有增删改的操作, 以便于数据恢复或同步
修改主服务器 mysql 配置文件:
添加完成后重启 Mysql 服务
现在你可以通过如下命令来查看 bin-log 日志是否成功开启
如果显示为 ON, 那么就可以在 /var/log/mysql/ 文件夹看到 mysql-bin.000001 二进制文件
关于 bin-log 日志的相关操作:
此时就会多一个最新的 bin-log 日志
查看最后一个 bin-log 日志, 如下:
查看所有 bin-log 日志, 如下:
清空所有 bin-log 日志
查看 bin-log 日志内容
shawn@Shawn:~$ mysqlbinlog /var/log/mysql/mysql-bin.000002 | mysql -uroot -p123123 test;
恢复 mysql-bin.000002 中所有的操作到 test 数据库中
shawn@Shawn:~$ mysqlbinlog /var/log/mysql/mysql-bin.000002 –start-position=”193″ –stop-position=”398″ | mysql -uroot -p123123 test;
恢复 mysql-bin.000002 中指定的操作(position)到 test 数据库中