mysql主从复制

grant all  on *.* to user1@192.168.10.2  identified by  'password'    在主服务器上给从服务器设置授权用户  可以在192.168.10.2上登录mysql

开启mysql bin-log日志

log-bin=mysql-bin

server-id =1 不能重复  即使是多从各个也不能相同

show grants for user1@192.168.10.2    查看登录主服务器上从服务器信息


mysql的bin-log存储了增删改的操作    所有的文件都是以 mysql-bin.0000001  的形式存储

可以通过命令查看log-bin 是否开启

mysql> show variables like "%log_bin%";
+---------------------------------+-------+
| Variable_name                   | Value |
+---------------------------------+-------+
| log_bin                         | ON    |
| log_bin_trust_function_creators | OFF   |
| sql_log_bin                     | ON    |
+---------------------------------+-------+


//刷新log-bin日志   此时会多出来一个新的log-bin日志  记录从此刻之后的记录
mysql> flush logs; 
Query OK, 0 rows affected (0.08 sec)


// 查看最后一个bin日志
mysql> show master status; 
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000006 |      107 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.01 sec)

//清空所有的bin-log日志
mysql> reset master;
Query OK, 0 rows affected (0.10 sec)

mysql> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |      107 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.01 sec)

// 查看bin-log日志
[root@localhost data]# /usr/local/mysql/bin/mysqlbinlog mysql-bin.000001

导出数据
/usr/local/mysql/bin/mysqldump -uroot -p123456 test -l -F  > '/tmp/test.sql'
-F 是flush logs  可以重新生成新的日志文件   -l 读锁 
导入
/usr/local/mysql/bin/mysql -uroot -p123456 test -v -f  < '/tmp/test.sql'
-v 查看导入的详细信息
-f是中间遇到错误时 可以skip过去继续执行下面的语句

//查看bin-log 日子如果出现    mysqlbinlog: [ERROR] unknown variable 'default-character-set=utf8'

/usr/local/mysql/bin/mysqlbinlog   --no-defaults  mysql-bin.000001 命令打开


binlog日志还原
[root@localhost test]# cd /usr/local/mysql/data/
[root@localhost test]# /usr/local/mysql/bin/mysqlbinlog mysql-bin.000001  | /usr/local/mysql/bin/mysql -uroot -p123456
mysqlbinlog 常跟的参数 
--start-position='50'
--stop-positon='100'
--start-date='2015-08-01 19:00:00'
--stop-date='2015-08-01 20:00:00'


scp /tmp/test.sql root@192.168.10.2:/tmp/   把当前备份的sql文件  同步到从服务器上去 
server-id=2
master-user=192.168.10.1 去连接主mysql的地址
master-user=user1    去连接主mysql的用户
master-password=456   
master-port=3306

show slave status\G  查看从服务器的同步情况

slave_IO_Running:Yes
此进程负责从主服务器上读取binlog日志,并写入到从服务器上的中继日志中
Salve_SQL_Running:Yes
此进程负责读取并且执行中继日志中的binlog日志

注:以上两个都为yes则表明同步成功,只要其中一个进程的状态是no,则表示复制进程停止,错误原因可以从“last_error”字段的值中看到
 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值