您的位置:首页 > 数据库 > MySQL

Windows Mysql 5.7.15 主从复制

2018-01-02 10:31 323 查看
Windows MySQL 解压版安装
1、配置环境变量
2、解压出来的目录默认会有my-default.ini,该配置文件主要用于配置
basedir = D:\soft\mysql-5.7.15-winx64
datadir = D:\soft\mysql-5.7.15-winx64\bin
在安装目录下新建data目录
3、打开dos窗口执行命令,进入mysql安装目录的bin目录下,执行
mysqld --initialize-insecure --user=mysql
mysqld install
执行后Windows服务中就会有MySQL的服务,然后执行
net start mysql
会出现提示,服务启动成功
4、服务启动成功后,输入
mysql -uroot -p
直接进入mysql,这是因为安装后第一次不需要输入密码,进入后需要修密码
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
到这里MySQL数据库安装完毕。
接下来我们进行主从复制的配置
Windows MySQL5.7.15 主从复制配置
1、主从服务器配置一样
建立用户
mysql> grant all privileges on *.* to root@"192.168.0.161" identified by "root";
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

2、配置环境变量my.ini

解压版的默认没有my.ini配置文件,只有my-default.ini文件,
这样只需新建my.ini文件即可,然后配置
Master 添加如下
[mysqld]
log-bin=mysql-bin
log-bin-index=mysql-bin.index
server-id = 232
sync_binlog=1
binlog_format=mixed
binlog-do-db = ibase4j
binlog-ignore-db = mysql
binlog-ignore-db = performance_schema
binlog-ignore-db = information_schema

#服务端的编码方式
character-set-server=utf8
#客户端编码方式,最好和服务端保存一致
loose-default-character-set = utf8

[mysqldump]
max_allowed_packet = 100M

Slave 添加如下

[mysqld]
server-id = 148
log-bin=mysql-bin
relay-log-index = slave-relay-bin.index
relay-log = slave-relay-bin

sync_master_info = 1
sync_relay_log = 1
sync_relay_log_info = 1
#服务端的编码方式
character-set-server=utf8
#客户端编码方式,最好和服务端保存一致
loose-default-character-set = utf8

3、重启服务
主服务器重启后
登录mysql,执行show master status;
mysql> show master status;
+------------------+----------+--------------+---------------------------------- -----------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+---------------------------------- -----------+
| mysql-bin.000004 | 107 | ibase4j | mysql,performance_schema,informat ion_schema |
+------------------+----------+--------------+---------------------------------- -----------+

从服务器重启
重启后登录从服务器
mysql> slave stop;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> change master to master_host='192.168.0.19',master_user='root',master_password='root',master_log_file='mysql-bin.000001'
,master_log_pos=5163;
Query OK, 0 rows affected (0.04 sec)

mysql> slave start;
Query OK, 0 rows affected (0.00 sec)

注意查看:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
以上这两个参数的值为Yes,即说明配置成功!

第四部:测试MySQL主从服务器双机热备是否成功
在主服务器上的mysql中添加数据、或表,看能否同步到从服务器中的mysql中。

问题:
查看Slave状态:show slave status\G
Slave_IO_Running: connecting ---网络不通
Slave_SQL_Running: NO:
原因:
1.程序可能在slave上进行了写操作 
2.也可能是slave机器重起后,事务回滚造成的.
解决办法I:
1.首先停掉Slave服务:slave stop
2.到主服务器上查看主机状态:
记录File和Position对应的值。
3.到slave服务器上执行手动同步:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql