mac下配置多实例Mysql的主从服务器同步
闲着无聊,想尝试下读写分离设计。 这里仅探究mac下多个实例共享一个配置文件的搭建,并实现两个实例间的数据同步。
安装Mysql服务器
- 服务器下载:mysql官网(https://www.mysql.com/)下载社区版服务器。本文用到的环境和版本分别是:mac os 10.13.2,mysql 5.7.18 Community (GPL)
- 安装的默认路径为:/usr/local/mysql
- 将mysql的安装路径设置到环境变量中 vim ~/.bash_profile
export PATH=$PATH:/usr/local/mysql/bin
export PATH`
:wq保存退出后,source ~/.bash_profile使配置立即生效。
数据准备
- 创建用于主从同步的两个实例(一主一从),分别占用商品3307和3308端口(如果需要多配置多个实例(一主多从),依次添加端口即可,前提是端口未被占用)
- 分别为每个实例创建用于存放数据和日志的文件夹。这里把主库文件夹命名为msyql_3307,从库全名为mysql_3308,下面分别都有data文件夹和log文件夹。如下图所示。
- 分别为主从两个实例初始化数据。数据初始化若不成功,则无法启动mysql服务。以下以初始化主库(mysql_3307)为例进行初始化。
mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/mysql_3307/data --initialize
- 操作完成后,在/usr/local/mysql/mysql_3307/data目录下生成mysql的相关系统数据库。并会生成一个临时密码(这个密码需要记下来,否则你需要重新操作这一步)。若在上面的命令中带参数–initialize-insecure , 则会产生空白密码。
- 同样的方法完成从库(mysql_3308)的数据初始化。
配置多个实例
- mysql通过mysqld_multi工具来实现多个实例的管理。该工