mysql主从复制 主主复制 读写分离

时间:2023-12-04 10:39:26
首先是mysql的主从复制很简单

主主复制也就是互相主从
最麻烦的最难的就是日志恢复,增量恢复什么的比较复杂 首先如果你不会安装mysql
版本最好一样,或者往上的版本,因为mysql是向下兼容 请注意不同版本的mysql主从配置有些不一样的,5.3以前的在从数据库里my.cnf需要配置mastip 授权用户名和密码,但是新的版本不需要,现在编译安装的是5.6即使重新启动mysql也会依然不用再次输入账号密码,只要从mysql change master 即可
mastmysql

vi /etc/my.cnf
log-bin=mysql-bin   //启用二进制日志
server-id=222 唯一id表示,数字 relaymysql
vi /etc/my.cnf
 log-bin=mysql-bin   //启用二进制日志
  server-id=226   mysql重启读取配置
重启之后在主服务器上

GRANT REPLICATION SLAVE ON *.* TO 'zx'@'192.168.1.112' IDENTIFIED BY '123456';
zx是用户名 123456是密码 192.168.1.112 是ip地址 也可以%表示所有ip只要用户名和地址正确
*.*代表所有数据库的所有表 比如 mysql.user 用户授权表 show master status;查看主服务器使用的bin日志文件和需要从哪开始同步到位置 select user, host, password from mysql.user;查看当前授权的用户 打开从服务器是 change master to master_host = '192.168.1.111',master_user='zh7314',master_password='zx123456',master_log_file='mysql-bin.000003',master_log_pos=615; stop slave;停止从服务器
reset slave;重置从服务器链接主服务器的,就是上面change master 授权成功之后,
start slave;
查看是否连接成功
show slave status\G

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

成功即可

接下来测试

创建表,insert数据

主主复制是双向主从,就是从服务器向授权给主服务器,吧 上面的动作重复一遍

请注意,只做主从的时候,从服务器的日志是可以不启用的,这样就不用浪费磁盘空间

从服务器
vi /etc/my.cnf
加上read-only = on;
root用户依然有权限写入 使用mysql-poxymysql代理惊醒读写分离