序言:多实例?Why?
?
随着硬件层面的发展,linux系统多核已经是普通趋势,而mysql是单进程多线程,所以先天上对多进程的利用不是很高,虽然5.6版本已经在这方面改进很多,但是也没有达到100%,所以为了充分的利用系统资源,mysql有自己的补充,那就是可以部署多实例,一个实例一个端口。
?
?
1,准备好mysql环境
源码安装mysql参考blog:http://www.2cto.com/database/201407/313004.html,源码包下载地址:http://download.csdn.net/detail/mchdba/7545037
1.1,准备好安装环境
groupaddmysql
useradd-g mysql mysql
?
autoreconf--force --install
libtoolize--automake --force
automake--force --add-missing
?
yuminstall -y libtoolize
yuminstall cmake -y
yuminstall gcc gcc-c++ -y
yuminstall -y ncurses-devel.x86_64
yuminstall -y cmake.x86_64
yuminstall -y libaio.x86_64
yuminstall -y bison.x86_64
yuminstall -y gcc-c++.x86_64
yuminstall make -y
?
1.2,创建mysql编译根目录
mkdir-p /usr/local/mysql
?
1.3,解压缩源码包
tar -xvf mysql-5.6.12.tar.gz
cd mysql-5.6.12
?
1.4,编译安装
timecmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-DMYSQL_DATADIR=/home/data/mysql/data -DWITH_INNOBASE_STORAGE_ENGINE=1-DMYSQL_UNIX_ADDR==/usr/local/mysql/mysql.sock -DMYSQL_USER=mysql-DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
?
由于time make耗时比较长,所以事先已经安装好
timemake
timemake install
?
?
2,准备第一个实例3307
?
2.1建立好目录
mkdir /usr/local/mysql3307
chown -R mysql.mysql /usr/local/mysql3307/
?
mkdir -p /home/data/mysql3307/data
chown -R mysql.mysql /home/data/mysql3307
chown -R mysql.mysql/home/data/mysql3307/data
?
mkdir -p /home/data/mysql3307/binlog
chown -R mysql.mysql /home/data/mysql3307
?
mkdir -p /home/data/mysql3307/relay_log/
chown -R mysql.mysql /home/data/mysql3307/
?
?
2.2 配置文件
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin =/usr/local/mysql/bin/mysqladmin
log =/home/mysql/mydata/log/mysqld_multi.log
?
[mysqld1]
socket = /usr/local/mysql3307/mysql.sock
port = 3307
pid-file = /usr/local/mysql3307/mysqld.pid
datadir = /home/data/mysql3307/data
?
log_bin=/home/data/mysql3307/binlog
server-id = 1230
relay_log =/home/data/mysql3307/relay_log/mysql-relay-bin
log_slave_updates = 1
read_only = 0
?
innodb_buffer_pool_size = 128M
innodb_flush_log_at_trx_commit = 0
2.3 初始化数据库
/usr/local/mysql/scripts/mysql_install_db--user=mysql --basedir=/usr/local/mysql --datadir=/home/data/mysql3307/data
?
----------------------------------------------------------------------------------------------------------------
<版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!>
原博客地址: http://blog.csdn.net/mchdba/article/details/45798139
原作者:黄杉 (mchdba)
----------------------------------------------------------------------------------------------------------------
3,准备第二个实例3308
3.1 建立好目录
mkdir /usr/local/mysql3308
chown -R mysql.mysql /usr/local/mysql3308/
?
mkdir -p /home/data/mysql3308/data
chown -R mysql.mysql /home/data/mysql3308
chown -R mysql.mysql/home/data/mysql3308/data
?
mkdir -p /home/data/mysql3308/binlog
chown -R mysql.mysql /home/data/mysql3308
?
mkdir -p /home/data/mysql3308/relay_log/
chown -R mysql.mysql /home/data/mysql3308/
?
?
3.2 配置文件
[mysqld2]
socket = /usr/local/mysql3308/mysql.sock
port = 3308
pid-file = /usr/local/mysql3308/mysqld.pid
datadir = /home/data/mysql3308/data
?
log_bin=/home/data/mysql3308/binlog
server-id = 2230
relay_log =/home/data/mysql3308/relay_log/mysql-relay-bin
log_slave_updates = 1
read_only = 0
?
?
innodb_buffer_p