mysql主从同步_utf8_mysql主从同步配置

主服务器ip:192.168.0.101

从服务器ip:192.168.0.105

主服务器my.ini配置(我的电脑上的目录为D:\soft\MySQL\MySQL Server 5.6\data\my.ini)

[mysqld]

log-bin=mysql-bin   //[必须]启用二进制日志

server-id=101      //[必须]服务器唯一ID,默认是1,一般取IP最后一段

从服务器my.ini配置(我的电脑上的目录为D:\soft\MySQL\MySQL Server 5.6\data\my.ini)

[mysqld]

log-bin=mysql-bin   //[必须]启用二进制日志

server-id=105      //[必须]服务器唯一ID,默认是1,一般取IP最后一段

重启两台服务器上的mysql服务

在主服务器上建立帐户并授权slave:

先以root的身份登录mysql

mysql -uroot -proot

创建用于同步的mysql账号并授权只允许从服务器登录同步

GRANT REPLICATION SLAVE ON *.* to 'mysync'@'192.168.0.105' identified by 'q123456';

登录主服务器的mysql,查询master的状态

show master status;

注:执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化

5.配置从服务器Slave:

先以root的身份登录mysql

mysql -uroot –proot

配置对应主服务器的信息(ip,用户名,密码,master_log_file,master_log_pos等参数)

change master to master_host='192.168.0.101',master_user='mysync',master_password='q123456', master_log_file='mysql-bin.000001',master_log_pos=332;

//注意不要断开,332数字前后无单引号。

master_host:主服务器的ip

master_user:主服务器上创建的用于两步的用户的用户名

master_password:主服务器上创建的用于两步的用户的密码

master_log_file和master_log_pos:前面主服务器使用show master status查看到的值

启动从服务器复制功能

Mysql>start slave;

6.检查从服务器复制功能状态:

show slave status\G

注:Slave_IO及Slave_SQL进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)

以上操作过程,主从服务器配置完成。

7.主从服务器测试:

主服务器Mysql,建立数据库,并在这个库中建表插入一条数据:

mysql> create database hi_db;Query OK, 1 row affected (0.00 sec)

mysql> use hi_db;

Database changed

mysql>  create table hi_tb(id int(3),name char(10));

Query OK, 0 rows affected (0.00 sec)

mysql> insert into hi_tb values(001,'bobu');

Query OK, 1 row affected (0.00 sec)

登录从服务器可查看到对应的数据库和表等都已经同步了。

使用以上过程进行同步后,虽然之后创建的数据库都可同步,但在配置同步之前的数据库是不能同步的,比如我的主机上有一个jeecg_gjh数据库是在同步之前已经创建的,同步后这个库是不会自动同步的从机上的,如果要同步需要手动执行以下操作:

1.在主机上先锁定写入操作

mysql> FLUSH TABLES WITH READ LOCK;

Query OK, 0 rows affected (0.00 sec)

mysql> SHOW MASTER STATUS;

记录下最新的position的值(后面从机上操作时需要用到),比如这边得到的值是3308

2.另开一个窗口在主机上导出jeecg这个库

mysqldump -u jeecg -pjeecg --opt -R jeecg_gjh > d:/temp/jeecg_gjh20150904.sql

3.    把导出的sql拷贝到从机上

4.    在主机上创建同样的用户名,密码,库并导入刚才从主机上导出的数据

CREATEDATABASE`jeecg_gjh` DEFAULTCHARACTERSETutf8 COLLATEutf8_general_ci;

grantallprivilegesonjeecg_gjh.* tojeecg@localhost identified by'jeecg';

use jeecg_gjh;

source d:/temp/jeecg_gjh20150904.sql

5.重启从机

STOP SLAVE;

reset slave;

6.    重新指定主机

change master to master_host='192.168.0.101',master_user='mysync',master_password='q123456', master_log_file='mysql-bin.000001',master_log_pos=3308;

注意这边的master_log_pos值为刚才在主机上得到的值

7.再次重启从机

STOP SLAVE;

reset slave;

8.在从机上执行以下命令

show slave status\G

如果Slave_IO及Slave_SQL进程必须正常运行,即YES状态则表明同步正常了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值