首先是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代理惊醒读写分离