mysql 主master 从 slaver 复制 配置详细

原创 2015年07月09日 11:47:56


主服务器

1.登录

master mysql>mysql -u用户名 -p密码

2.授权

1)master  mysql>grant all on *.* to user@192.168.10.2 identified by "pass";

or

2).master mysql>grant replication  slave on *.* to user@192.168.10.2 identified by "pass";




查看用户授权列表

master mysql>select user,host,password from mysql.user;


3.配置bin-log 日志

master mysql

>vim /etc/my.cnf 

 log-bin=mysql-bin (添加)

server-id = 1 (唯一)



mysql>show variables like "%bin%" (查看log_bin 是否开启   | log_bin                                 | ON  )

4 设置读锁(选作 方便数据备份,推荐使用mysqldump -l -F 选项 可以跳过这一步)

mysql>flush tables with read lock;

数据备份 mysqldump 命令

master mysql

mysql>mysqldump -uroot -p test  '/tmp/dump.sql' 或者 tar -cvf  data.tar  mysql/data 

mysql>unlock tables;(读锁完,必须解锁 否则不能再写入)


5.把主数据库一致性备份恢复到从数据库,如过是压缩包直接解压放到从数据库data下

mysql -uroot  -p  test < /tmp/dump.sql 



从服务器

1 vi /etc/my.cnf

log-bin=mysql-bin

server-id = 2 (唯一)

master-host=192.168.213.137(主数据库ip)

master-user=slaver(授权的用户名)

master-password=root123(授权用户密码)

master-port=3306


(有的机器以上配置能出问题 屏蔽掉上面的配置 使用以下 为什么会这样我现在还没搞明白)

mysql>  change master to
     master_host='192.168.213.137',
     master_user='slave',
     master_password='root123',
     master_port=3306,
     master_log_file='mysql-bin.000001';

mysql> start slave;


2 最后查看

mysql> show slave status\G;

 Slave_IO_Running: Yes
 Slave_SQL_Running: Yes

看到这样则配置成功


否则 查看 这条命令的error 提示

可能是与服务器的id一直 我的是修改auto.cnf 成不同的的值(这里我在本机做的测试 所以centos 都是clone出来的 所以会有相同的配置)





1,



与bin-log相关的日志操作



mysql>\s (查看数据库字符集等信息)






根据bin-log 数据恢复

# /usr/local/mysql/bin/mysqlbinlog   /db/mysql/data/mysql-bin.000003  |  mysql -uroot -p test


根据备份dump sql 数据恢复

mysql -uroot  -p  test < /tmp/dump.sql



还可以根据pos位置来恢复





 














内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:mysql 主master 从 slaver 复制 配置详细
举报原因:
原因补充:

(最多只允许输入30个字)