mysql5.5 数据复制_mysql 5.5 数据库复制

master  192.168.10.188

slave   192.168.10.199

数据库目录通过my.ini设置在其它路劲下

**************************************************************

第一步:master库设置

**************************************************************

1、主库创建/etc/my.cnf,修改[mysqld]里边的键值增加

#vi /etc/my.cnf

server-id=1

#不需要进行复制的数据库

replicate-ignore-db = mysql

replicate-ignore-db = information_schema

#sync_binlog将事务实时同步到磁盘

sync_binlog = 1

#添加二进制日志

log-bin=E:\mysql\log\mysql-bin

expire_logs_days = 10

max_binlog_size = 100M

#查询日志(建议不开启)

#log=E:\mysql\log\mysql.log

#添加错误日志

log-error = E:\mysql\log\error.log

#慢日志

log_slow_queries = ON

#log_slow_queries没有给出绝对路径,则在datadir指定的目录下

log_slow_queries="E:/mysql/log/slow.log"

long_query_time=5

log-queries-not-using-indexes

#log-slow-admin-statements服务器选项,你可以请求将慢管理语句,

#例如OPTIMIZE TABLE、ANALYZE TABLE和 ALTER TABLE写入慢查询日志

log-slow-admin-statements

#可以允许多少个错误连接

max_connect_errors = 6000

2、主库增加用户,用于从库读取主库日志。

#mysql -u root -ppassword

mysql>grant replication slave,reload, super on *.* to 'slave'@'192.168.10.199' identified by 'password';

3.重启主库

reset master ;

**************************************************************

第二步:slave库设置

**************************************************************

1、从库连接主库进行测试。

mysql -u slave -p -h 192.168.10.188

2、停从库,修改从库/etc/my.cnf,增加选项:

[mysqld]

server-id=2   --注意这个字段已经存在,只是需要修改即可.

master-retry-count = 999

3.重启slave库

4.查看master和slave的数据库server_id是否和my.cnf配置文件一样

mysql> show variables like '%server_id%';

/*

如果和配置文件中,不一样,则下面方法设置:

mysql并没有从my.cnf文件中更新server_id,既然这样就只能手动修改了

mysql> set global server_id=2;   # 此处的数值和my.cnf里设置的一样就行

mysql> slave start;

*/

5.slave服务器从master同步

#mysql -u root -ppassword

启动从服务器Mysql数据库,执行如下命令:

MySql> slave stop;

change master to master_host='192.168.10.188',

master_user='slave',

master_password='password',

master_log_file='mysql-bin.000001',

master_log_pos=0;

/*该命令已经不支持:

mysql> load data from master;

这个功能以后将取消,尽可能使用备份主服务器数据库到从服务器上还原数据库。默认情况,主库直接新建数据库会同步到副库.

*/

6、启动从数据库数据同步命令:

start slave;

7、查看从数据库同步状态,Slave_IO_Status,Slave_Io_Running,Slave_SQL_Running

show slave status\G;

如果发现

Slave_IO_Running: NO

Slave_SQL_Running: Yes

查看错误日志:

C:\Program Files\MySQL\MySQL Server 5.5\data\xxxxxx.err

会发现如下错误:

111012 17:19:23 [ERROR] Error reading packet from server: Could not find first log file name in binary

log index file ( server_errno=1236)

111012 17:19:24 [ERROR] Got fatal error 1236: 'Could not find first log file name in binary log index file'

from master when reading data from binary log

一般出现这个错误是因为

一是权限问题

二是文件路径不多,或文件名不一样,Mysql对大小写很敏感,执行change master to master_host='192.168.10.188',

master_user='rekfan.com', master_password='password', master_log_file='mysql-bin.000001',

master_log_pos=0;语句的时候,master_log_file的mysql-bin前缀一定要与主服务器的log-bin配置的相同.

8、需要重新进行同步的时候,先停止同步服务器,重新设置,同步的日志文件master_log_file和同步起始位置master_log_pos:

stop slave;

9.测试同步效果

在主服务器上对数据库进行修改:

create database suzhou;

在从服务器端查看:

SHOW DATABASES;

这里也将出现一个名为mydb的一模一样的数据库!

**************************************************************

第三步:常用命令

**************************************************************

1.常用命令

1.1 主库使用

show master status\G;

1.2 从库使用

--查看读取的日志

show slave status\G

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值