Mysql主从服务器配置

首先要把Mysql安装好,不演示了

我把原来数据库的数据先打包好了,所以mysql文件夹下的data就可以删除了

  1. 关闭并删除mysql服务(删除我不确定是否必要)
    用管理员权限打开cmd,进入mysql安装目录
    输入 net stop mysqlsc delete mysql,cmd会显示指定的服务已标记为删除
  2. 将mysql安装文件夹复制到另一个地方,把两个mysql文件夹里面的data文件夹都删除了
  3. 我安装的mysql版本没有my.ini文件,所以在mysql的根目录新建文档,然后改成my.ini

第一段是主mysql的配置内容

[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
innodb_buffer_pool_size = 16M
log-bin=mysql-bin
basedir = E:\mysql-8.0.21-winx64
datadir = E:\mysql-8.0.21-winx64\data
port = 3306
server_id = 1
join_buffer_size = 8M
sort_buffer_size = 8M
read_rnd_buffer_size = 16M 
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

然后是从mysql的配置内容

[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
innodb_buffer_pool_size = 16M
log-bin=mysql-bin
basedir = E:\mysql-8.0.21-winx64 - slave
datadir = E:\mysql-8.0.21-winx64 - slave\data
port = 3307
server_id = 2
join_buffer_size = 8M
sort_buffer_size = 8M
read_rnd_buffer_size = 16M 
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

注意两个配置文件中 port,server_id,basedir,datadir的区别
主mysql服务的端口是3306,从mysql服务的端口是3307
server_id 一定不能相同
basedir和datadir路径要与自己的路径一致

  1. 通过管理员cmd分别进入两个mysql文件夹里面,执行mysqld --initialize-insecure来初始化data文件夹,

在主文件夹中执行命令mysqld --install "Mysql80" --defaults-file="E:\mysql-8.0.21-winx64\my.ini",然后启动服务net start mysql80服务就会成功启动了

在从文件夹中执行命令mysqld --install "Mysql80slave" --defaults-file="E:\mysql-8.0.21-winx64 - slave\my.ini"
然后启动服务net start mysql80slave,如果显示服务无法启动,而且没有任何错误,就把data文件夹都删了,从第四步再来

  1. 重新启动后mysql没有密码,在8.0的mysql中输入ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';来重置密码
  2. 进入主mysql,新建用户CREATE USER 'slave'@'%' IDENTIFIED BY 'slave';

flush privileges;刷新表,都成功的话依次输入grant REPLICATION CLIENT ON *.* to 'slave'@'%' ;grant REPLICATION SLAVE ON *.* to 'slave'@'%' ;给slave用户权限

  1. 在主mysql中输入show master status;
    在这里插入图片描述

  2. 在打开的从mysql文件夹的cmd命令行中输入mysql -uroot -P3307 -p,一开始也是没有密码的,另起一个cmd输入ipconfig在这里插入图片描述
    返回刚才的cmd,输入change master to master_host='192.168.1.121',master_user='slave',master_password='slave',master_log_file='mysql-bin.000003',master_log_pos=0;其中master_host里面的地址是刚才ipconfig中出现的ipv4地址,master_log_file是第7步中出现的File

  3. 现在差不多就成了,在从mysqlcmd中输入 show slave status\G;在这里插入图片描述
    看到那两个Yes就好了,然后就可以测试了,在主mysql中添加修改就会在从mysql中复制了

如果有什么问题的话,请指出谢谢大家

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值