按百度的结果搞,发现存在一些问题。最后问题解决了,自己记录下。
解压两个压缩包,一个为主数据库,一个为副数据库。(主数据库以前安装的,这里就不写步骤了。后面有副数据库安装步骤,可参考)
修改主数据库my.ini文件
[client]
port=3306
default-character-set=utf8
[mysqld]
port=3306
character_set_server=utf8
server-id=996
innodb_flush_log_at_trx_commit=2
sync_binlog=1
log-bin=mysql-bin
binlog-do-db=databaseName
expire_logs_days=7 #自动清理 7 天前的log文件,可根据需要修改
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
在主数据库中添加新用户,用为副数据库连接使用
grant replication slave on *.* to 'backup'@'%' identified by '123456';
修改副数据库my.ini文件
[mysqld]
[client]
port=3308
default-character-set=utf8
[mysqld]
server_id=33
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin
master_info_repository=TABLE
port=3308
character_set_server=utf8
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[WinMySQLAdmin]
bin目录下执行
mysqld --initialize
查看数据库密码
解压目录底下data目录下,err结尾的文件,这个像乱码一样的
注册服务。管理员身份运行命令提示符,到bin目录下执行。slave_2为服务名,自己随意写(我在未注册服务之前,server_id会和主数据库一致,未找到其它解决方法。注册服务后问题解决)
mysqld --install slave_2 --defaults-file="D:\software\mysql-5.7.25-winx64-2\my.ini"
启动服务
net start slave_2
之后可以正常登录了,密码为之前data目录下查看到的,像乱码一样的东西
连接成功后会提示修改密码
配置
查看主服务器状态
在副数据库执行
change master to
master_host='127.0.0.1',
master_user='backup',
master_password='123456',
master_log_file='mysql-bin.000014',
master_log_pos=928047;
然后先后执行
stop slave;
start slave;
show slave status;
如果发现Slave_SQL_Running的值为No。可以查询下,副数据库的data目录下的文件auto.cnf中的uuid的值,是否与主数据库相同。如果两个相同,修改后重新执行前一步骤
修改后正常
接着验证下,在主数据库中相同的表中新增数据,副数据库中会同步更新
主数据库中新增数据
副数据库中也同步更新了