kali+win10+dockermysql8主从配置超详细(有问题请留言)

本文详述使用Docker部署MySQL主从复制的过程,包括配置文件编辑、权限分配、连接测试及常见问题解决,如免密登录冲突、slave连接失败等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大家好啊,黄油弟好久没写博客了。最近在看尚硅谷的谷粒商城,寻思着也搞个分布式玩玩,但是得要mysql主从配置呀。心想这还有什么难的,结果前前后后配了1天半,这边就把详细过程和坑分享给大家。(关于工具的安装就不废话啦)

 

请大家有点耐心,你碰到的问题下面可能就有!

 

现在docker盛行,那就直接用docker pull mysql安装;既然是主从,那肯定要开两个容器啦,一个作为主服务器来写,一个作为从服务器来读。具体参考的命令和图片如下,也就是将mysql配置文件挂载到指定的目录下,更好找寻,master类似slave配置:
 

docker run -p 3307:3306 --name mysql-slave 
-v /mysql/slave/conf:/etc/mysql/conf.d 
-v /mysql/slave/logs:/logs 
-v /mysql/slave/data:/var/lib/mysql 
-e MYSQL_ROOT_PASSWORD=123456 -d mysql

 

在接下来就需要对数据库进行配置,配置文件是你之前挂载目录conf下的my.cnf,但是原本是没有的,需要你自建一个。(这里不要去修改其他的cnf文件,比如data里的auto.cnf,会产生意外的结果),具体内容可参考下方(master的):

从上至下依次为编码设置、服务器id设置、只读与否设置、同步的数据库与不同步的数据库设置(slave从数据库只需修改id和read-only)

接下来便是在windows上测试两个mysql连接,这时候会出现第一个问题!

2003 - Cant't connect to MySQL server on 'ip'(10060 "Unknown error")

我是一个很特殊的原因,我在my.cnf中设置了免密登陆,但是在容器里又设置了123456的密码,因此导致连接不上。只要吧设置的免密去掉就可以了!

之后在容器内部进行主从服务器的设置。

主服务器:

  1. grant all privileges on *.* to 'root'@'%' with grant option;   //给root分配权限
  2. flush privileges;
  3. create user 'backup'@'%' identified by '123456';  //创建用户名密码
  4. grant peplication slave on *.* to 'backup'@'%';    //分配slave权限给它
  5. 可在mysql数据库的user表里查看分配结果

这里有两个要点:1.如果提示你权限不足,可能是因为你以无密登陆,此时必须改为有密码登陆!2.mysql8和mysql5有区别,mysql5可以创建授权连打,但是mysql8必须分开!

从服务器:

  1. change master to                                master_host='192.168.226.129',master_user='backup',master_password='123456',master_log_file='mysql-bin.000003',master_log_pos=1069,master_port=3306,get_master_public_key=1;     
  2. start slave;   //开启从状态
  3.  show slave status\G;     //查看状态

这里需要注意的就是参数别打错,参数在主服务器端用show master status;查看。

有些小伙伴可能注意到我在连接master时加粗了一句命令get_master_public_key=1,这个是针对错误ERROR 2061 (HY000): Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection.

也就是如果你不加这句,slave会连接失败一直处于connecting状态,这个报错在status里会有。这是mysql8的原因,连接时加上这条命令就ok了。

最后效果如下:

在指定数据库内进行添加删除表等操作,从数据库也能马上获得结果了。但是其实整个过程中还有其他一些问题,但是忘了,你们碰到了可以留言,一起解决它

 

 

使用Kali Linux中的Hydra工具进行密码爆破攻击是一项安全测试活动,用于检查系统的安全性。注意,这样的行为应该仅限于授权的测试环境或在你拥有明确授权的情况下进行,未经授权对任何系统进行攻击是违法的。 下面是一个基本的指导,介绍如何使用Hydra工具来尝试破解Windows 7操作系统的用户名和密码: 1. 准备工作:首先,确保你已经安装了Kali Linux,并且已经安装了Hydra工具。如果没有安装,可以通过Kali的包管理器apt进行安装。 2. 收集信息:了解目标系统的IP地址、使用的协议(如SSH, FTP, HTTP等)以及可能的用户名和密码信息。 3. 运行Hydra:使用以下格式的命令来尝试爆破密码: ```bash hydra -l username -P passwords.txt -s port_number ip_address protocol ``` - `-l username`:指定要尝试的用户名。 - `-P passwords.txt`:指定包含可能密码的文件。 - `-s port_number`:指定服务运行的端口号(如远程桌面默认是3389)。 - `ip_address`:目标系统的IP地址。 - `protocol`:指定服务的协议,例如:`rdp`(远程桌面协议)、`ssh`、`ftp`等。 例如,如果你尝试爆破远程桌面的密码,命令可能如下: ```bash hydra -l administrator -P passwords.txt -s 3389 192.168.1.1 rdp ``` 这里 `-l administrator` 表示尝试破解的用户名是 `administrator`,`-P passwords.txt` 是一个包含密码的文本文件,`-s 3389` 指定远程桌面服务的端口,`192.168.1.1` 是目标系统的IP地址。 4. 分析输出:Hydra执行完毕后会显示结果,如果成功,它会告诉你找到的密码是什么。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值