一.先准备一台主的mysql;
1.修改my.ini文件,在【mysqld】下面增加如下,只需要加入加粗的配置即可;
[mysqld]
; 设置3306端口
port=3306
;设置mysql的安装目录
basedir=D:\\mysql8.0\\mysql-8.0.11-winx64
;设置mysql数据库的数据的存放目录
datadir=D:\\mysql8.0\\mysql-8.0.11-winx64\\data
;缓冲目录
tmpdir=D:\mysql8.0\\mysql-8.0.11-winx64\\data
;允许最大连接数
max_connections=200
;允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
;服务端使用的字符集默认为UTF8
character-set-server=utf8
;创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
;默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
#开启日志
log-bin=mysql-bin
binlog_format=mixed
#和从库的值不一样
server-id = 1
#复制的数据库这里的数据库是dbcharge
binlog-do-db=dbcharge
[client]
;设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
2.然后再进行重启mysql服务;
3.然后对用户进行授权,执行下面的sql;
//设置权限
grant all privileges on *.* to '用户名'@'%' ;//更新配置
FLUSH PRIVILEGES;
4.运行下面的sql:
show master status
然后记住这两个值;
二.准备第二台mysql服务器(保证这台mysql服务器可以连接第二台的情况下)
1.先修改这台mysql的my.ini的文件
[mysqld]
; 设置3306端口
port=3306
;设置mysql的安装目录
basedir=D:\\mysql8.0\\mysql-8.0.11-winx64
;设置mysql数据库的数据的存放目录
datadir=D:\\mysql8.0\\mysql-8.0.11-winx64\\data
;缓冲目录
tmpdir=D:\mysql8.0\\mysql-8.0.11-winx64\\data
;允许最大连接数
max_connections=200
;允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
;服务端使用的字符集默认为UTF8
character-set-server=utf8
;创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
;默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
#从服务器配置 这个配置必须与主的一致
log-bin=mysql-bin
binlog_format=mixed
server-id = 2
binlog-do-db=dbcharge
[client]
;设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
2.在从库上运行下面的sql;
CHANGE MASTER TO MASTER_HOST='主数据库的IP地址',MASTER_USER='主数据库的用户名',MASTER_PASSWORD='主数据库的密码',MASTER_LOG_FILE='主数据库查出来的file',MASTER_LOG_POS=主数据查出来的Position;
3.运行下面的sql语句,开启同步
start slave;
4.再运行下面的sql
show slave status\G
如果出现下面的则成功;
Slave_IO_Running: Yes
Slave_SQL_Running: Yes