前提:三年前双11买的阿里云今年到期了,win2012的,上面mysql数据库里记着自己的一些记账数据,上一年双11买了腾讯云的,centos7.7, 想学学MYSQL的复制功能,今天趁着无BUG可撸,试着配置了一下,成功,在阿里云上的部署的网站写入数据,可同时复制到腾讯云上了,以下是配置步骤:
- 远程桌面登录阿里云服务器,打开sqlyog 执行select version()查看版本号
- 停掉MYSQL服务,看配置文件 "C:ProgramDataMySQLMySQL Server 8.0my.ini" 里的[mysqld]下的配置,记下来:
log-bin="iZwz95a6wosz6ka-bin"
server-id=1
- 再启动MYSQL服务,通过命令行登录 上MYSQL,执行:show master status, 记下结果 :
名称:iZwz95a6wosz6ka-bin.000007 位置:155
- 阿里云MYSQL做为主库,创建可供远程复制的账号,因为是MYSQL 8.0的,得拆分成二条语句来执行,先建立账号,再设置权限
create user 'replic_user'@'%' identified by 'copypassword';
grant replication slave,replication client on . to 'replic_user'@'%' ;
- 用sqlyog里的导出功能把niunan数据库整个全部导出,弄到本地备份,至此主库的操作完成, 下面要在腾讯云的从库上进行操作
- 重新开始,上腾讯云网站给服务器重新系统,centos 7.7, 装完后用xshell登录进去,根据宝塔网站(https://bt.cn/)的安装教程安装 宝塔面板 ,在宝塔里的软件商店再安装MYSQL8。0 (因为之前自己测试用命令安装 MYSQL真的好慢好慢,根本就下载不了,yum install mysql)
- 把第五步备份的文件传到/root目录下,在xshell 里mysql -u root -p 登录 MYSQL, source /root/niunandb.sql 导入牛腩数据库
- 在宝塔上修改MSYQL的配置文件,[mysqld]下,改完后重启下服务
log_bin=iZwz95a6wosz6ka-bin
server_id=2
relay_log=/path_to_mysql_log/mysql-relay-bin
log_slave_updates=1
read_only=1
记得要建立/path_to_mysql_log目录
- 在xshell里mysql -u root -p 登录 MYSQL,执行命令设置主库连接的用户名和密码:
- master to master_host='120.78.185.96',master_port=3306,master_user='replic_user',master_password='copypassword',master_log_file='iZwz95a6wosz6ka-bin.000007',master_log_pos=155
那个最后二个参数是第三步里记下来的玩意,运行后发现错误了,没有权限什么的,最后直接在FTP里给那个path_to_mysql_log目录设置777权限 就行了
运行命令启动 : start slave;
运行命令查看状态: show slave status;
- 在阿里云部署的网站上测试一下,插入几条数据,然后再跑到腾讯云上查询看看,发现成功了,刚刚插入的数据已经同步到腾讯云!!!