多实例与主从复制配置,作者已在阿里云亲自安装成功,按照本教程可以完美配置
1、MySQL单实例安装
MySQL安装参考:Mysql单实例安装、
单实例安装,作者不多做赘述,。
2、多实例安装(3306、3307)
多实例安装MySQL官网已经给出方案,总结下来大致分为2种:rpm安装和二进制包安装法。本次作者介绍rpm安装,也是作者连续几天查询各种安装方法后,唯一成功的方案,也是最为简单的方案。
2.1 MySQL 配置文件/etc/my.cnf增加实例配置
[mysqld]
server-id=3306
port=3306
#character-set-server=utf8mb4
default-storage-engine=INNODB
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
log-bin=mysql-bin
binlog_format=mixed
binlog-do-db=o2o
binlog-ignore-db=mysql
#max_connections=200
#max_connect_errors=10
[mysqld@3307]
server-id=3307
port=3307
#character-set-server=utf8mb4
default-storage-engine=INNODB
log-bin=mysql-bin
binlog-format=mixed
replicate-do-db=o2o
replicate-ignore-db=mysql
datadir=/var/lib/mysql3307
socket=/var/lib/mysql3307/mysql.sock
log-error=/var/log/mysqld3307.log
innodb_buffer_pool_size=50M
增加一个[mysql@XXX],写入第二个实例的配置
2.2 启动新实例
sudo systemctl enable mysqld@3307# 加入开机启动
sudo systemctl start mysqld@3307 # 立即启动
MySQL有个隐规则:当以 localhost 连接时(不指定-h时默认为localhost),MySQL 是通过 Unix Socket(而不是 TCP) 连接。此时指定的端口被忽略。所以必须在配置文件中配置以TCP连接。
[client]
protocol=TCP
在安装多实例的时候,可能会遇到错误,大致可以分为以下几种:
- linux内存不够,装2个实例至少需要2GB
- 文件夹权限不对
2.3主从复制
请参考:1、MySQL主从配置1
2、MySQL主从配置2