MySQL 使用mysqld_multi部署单机多实例详细过程(一)

2015-07-16 12:08:25 · 作者: · 浏览: 0

随着硬件层面的发展,Linux系统多核已经是普通趋势,而MySQL是单进程多线程,所以先天上对多进程的利用不是很高,虽然5.6版本已经在这方面改进很多,但是也没有达到100%,所以为了充分的利用系统资源,MySQL有自己的补充,那就是可以部署多实例,一个实例一个端口。


1,准备好mysql环境


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


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_pool_size = 128M


innodb_flush_log_at_trx_commit = 0


3.3 初始化数据库


/usr/local/mysql/scripts/mysql_install_db--user=mysql --basedir=/usr/local/mysql --datadir=/home/data/mysql3308/data


4,准备第三个实例3309


4.1 建立好目录


mkdir /usr/local/mysql3309
chown -R mysql.mysql /usr/local/mysql3309/
mkdir -p /home/data/mysql3309/data
chown -R mysql.mysql /home/data/mysql3309
chown -R mysql.mysql/home/data/mysql3309/data
mkdir -p /home/data/mysql3309/binlog
chown -R mysql.mysql /home/data/mysql3309
mkdir -p /home/data/mysql3309/relay_log/
chown -R mysql.mysql /home/data/mysql3309/?


4.2 配置文件


[my