mysql多实例配置方案:方案一(多配置文件,多启动程序):mkdir/data/3306/{data,tmp,log}touchmy.cnf服务文件mysql改一下端口(1)安装依赖ncurses-
mysql多实例配置方案:
方案一(多配置文件,多启动程序):
mkdir /data/3306/{data,tmp,log} touch my.cnf
服务文件mysql改一下端口
(1)安装依赖ncurses-devel libaio-devel
(2)配置文件示例
[client]port=3306socket=/data/3306/mysql.sock[mysql]no-auto-rehash[mysqld]user=mysqlport=3306socket=/data/3306/mysql.sockbasedir=/usr/local/mysqldatadir=/data/3306/dataopen_files_limit=1024back_log=600log-error=/data/3306/log/error.logslow_query_log=onslow_query_log_file=/data/3306/log/slow.logpid-file=/data/3306/mysql.pidlog-bin=/data/3306/log/mysql-binserver-id=1[mysqld_safe]log-error=/data/3306/log/error.logpid-file=/data/3306/mysql.pid
(3)初始化
chown -R mysql:mysql /datamysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/3306/data#新版本建议使用mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/home/mysql在初始化时如果--initialize改为--initialize-insecure,则会创建空密码的 root@localhost 账号,否则会创建带密码的 root@localhost 账号创建出日志文件并更改权限。
(4)多实例启动
mysqld_safe --defaults-file=/data/3306/my.cnf &>/dev/null &
或使用复制过来的mysql启动
登陆:mysql -S /data/3306/mysql.sock
多实例停止
mysqladmin -u root -p"password" -S /data/3306/mysql.sock shutdown
方案二:单一配置文件
(1) 配置文件my_multi.cnf示例
[mysqld_multi]mysqld=/usr/bin/mysqld_safemysqladmin=/usr/bin/mysqladminuser=mysql[mysqld1]socket=/var/lib/mysql/mysql.sockport=3306pid-file=/var/lib/mysql/mysql.piddatadir=/var/lib/mysqluser=mysql[mysqld2]socket=/data/3307/mysql.sockport=3307pid-file=/data/3307/mysql.piddatadir=/data/3307/datauser=mysqlserver-id=10defautlt-storage-engine=innodb[mysqld3]...
(2)启动方法
mysqld_multi --config-file=/data/mysql/my_multi.cnf {start|stop|report} 1,2,3,4-6,7