|
主机:Windows,wamp
从机:linux,mysql
配置主机步骤:
1.授权从机
GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO yangpf@192.168.3.106 IDENTIFIED BY '123456';
授权用户名:yangpf,也就是可以用这个用户名登录
授权ip:192.168.3.106,只能是这个ip登录
密码:123456,登录密码
例如,用户登录:mysql -u yangpf -p123456 -h $(主机ip)
2.导出数据库为sql语句
配置my.ini,添加如下:
server-id = 1
#binlog
log-bin = E:/wamp/mysql/data/binlog
3.重启mysql
配置从机步骤:
我采用的是yum安装的mysql,CentOS
1.启动mysql服务,/etc/init.d/mysqld start
2.导入刚才那个sql文件: mysql -u root < test.sql
默认用户是root,密码为空
3.登录mysql,mysql -u root
4.现在可以查看一些数据库是否已经导入,use database;show tables;
5.配置一下从机,vi /etc/my.cnf
添加配置,加入我们要配置的数据库是linda,主机ip是192.167.2.200,如果想备份多个数据库,可以在replicate-do-db选项右面添加数据库名,之间用逗号隔开即可
log_bin = /var/lib/mysql/mysql-bin.log
master-host = 192.167.2.200
master-user = yangpf
master-password = 123456
master-port = 3306
master-connect-retry=60
replicate-do-db = linda
replicate-ignore-db=mysql
6.重启mysql服务
7.登录mysql,并查看状态,mysql -u root; show slave status\G;会出现关键字段
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
现在已经配置完成,可以在主机更改数据库,看从机是否更新
异常处理:
当然也会出现异常的情况,有一次配置的时候出现
Slave_IO_Running: No
的情况,查看日志显示:
121119 13:35:17 [ERROR] Slave I/O thread: error connecting to master 'yangpf@192.167.2.200:3306': Error: 'Access denied for user 'yangpf'@'192.168.3.106' (using password: NO)' errno: 1045 retry-time: 60 retries: 86400
显示密码不对,但是密码确实是写在了配置文件里面,并且没有问题的。
最后的解决方案,手动设置:
首先在主机查看主机状态:show master status;
会出现:file:binlog.000003和position:816 记住了,然后在下面进行配置
stop slave;
change master to master_host='192.167.2.200', master_user='yangpf', master_password='123456', master_log_file='binlog.000003', master_log_pos=816;
start slave;
show slave status\G
这样就应该没问题了,
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
不知道说的够不够详细。有不对的地方请指教 |
|
|