大家好,我是大头,职高毕业,现在大厂资深开发,前上市公司架构师,管理过10人团队!
我将持续分享成体系的知识以及我自身的转码经验、面试经验、架构技术分享、AI技术分享等!
愿景是带领更多人完成破局、打破信息差!我自身知道走到现在是如何艰难,因此让以后的人少走弯路!
无论你是统本CS专业出身、专科出身、还是我和一样职高毕业等。都可以跟着我学习,一起成长!一起涨工资挣钱!
关注我一起挣大钱!文末有惊喜哦!
关注我发送“MySQL知识图谱”领取完整的MySQL学习路线。
发送“电子书”即可领取价值上千的电子书资源。
发送“大厂内推”即可获取京东、美团等大厂内推信息,祝你获得高薪职位。
发送“AI”即可领取AI学习资料。
MySQL零基础教程
本教程为零基础教程,零基础小白也可以直接学习,有基础的可以跳到后面的原理篇学习。
基础概念和SQL已经更新完成。
接下来是应用篇,应用篇的内容大致如下图所示。

windos搭建mysql主从复制多实例集群
因为没有更多的机器来搭建多机器的集群环境,所以这里使用单机多实例监听多端口来实现mysql的集群环境。
为什么要使用mysql主从环境
一般来说读流量大于写流量,所以当流量过大时可以通过mysql主从来扩展从库,读取从库从而应对读流量的冲击。主从复制的实现原理和优缺点有兴趣的可以看我这个文章mysql主从读写分离。
搭建主从环境
这里假设你已经下载安装好mysql了。已经可以启动一个mysql 3306的实例了。
现在我们复制一个配置文件。我原来的配置文件是my.ini,我直接复制粘贴改个名字,为了省事命名成3307my.ini。
cp my.ini 3307my.ini
接下来我们有了两个配置文件,一个my.ini,一个3307my.ini。
我们修改3307my.ini的配置文件内容。
1 | [mysqld] |
修改完成接下来使用这个配置文件启动,你会发现启动失败,哈哈哈哈。
因为新的数据库没有mysql的基本信息那些库和表还有插件,所以我们需要复制过去,我是采用了这种简单粗暴的方法,网上还有使用mysql_install_db的,不过我发现我的mysql没有这玩意。
我们复制data和share两个文件夹复制到3307文件夹里面。

下面是./3307/文件夹下面的内容,复制过来以后这两个文件夹就过来了。

接下来你可以启动第二个mysql实例了。回到3307目录的上层目录,也就是你的mysql根目录。然后运行下面的命令。使用刚才的3307my.ini启动新实例。
./bin/mysqld.exe –defaults-file=./3307my.ini
启动成功后可以进行连接了。连接上去以后可以看到现在和3306库一样了。接下来开始配置主从复制。
我们先进入3306主库客户端,查看一些数据。执行下面的命令。
1 | show master status; |
可以看到下面的内容。下面的file参数和position参数要在从库配置中用到。

接下里进入3307客户端执行下面的命令。
1 | change master to |
执行完这个命令,从库就知道主库在哪了,就知道谁是主库了,也知道该从哪里开始同步了。
你以为接下来就完了?不不不,接下来还需要启动从库才行。
start slave;
这个命令是什么呢,主要是启动从库的更新线程,从库有两个更新线程,一个io线程负责把主库的binlog写入从库的relay log。一个sql线程负责把relay log中的信息写入从库。
接下里看看从库的状态,执行下面的命令。
show slave status;

这里面主要看Slave_IO_Running和Slave_SQL_Running也就是上面说的两个线程是否在运行,如果是Yes,那么就ok了。
如果不是Yes可以退出重启一下mysql服务试试。
如果已经可以了,那么可以在3306主库里面修改一些数据进行测试了。如果有问题你没搭建成功,欢迎你来找我。下一篇文章教你搭建 mysql 2主多从集群。
文末福利
关注我发送“MySQL知识图谱”领取完整的MySQL学习路线。
发送“电子书”即可领取价值上千的电子书资源。
发送“大厂内推”即可获取京东、美团等大厂内推信息,祝你获得高薪职位。
发送“AI”即可领取AI学习资料。
部分电子书如图所示。



