[Shell] 纯文本查看 复制代码
--1.查看现有实例的选项值
[iyunv@mast ~]# mysqladmin --user=root --password=123456 --host=mast --port=3306 variables
--2.安装另一mysql
[iyunv@mast mysql-5.5.30]# mkdir -p /usr/local/mysql3307
[iyunv@mast mysql-5.5.30]# mkdir -p /usr/local/mysql3307/data
[iyunv@mast mysql-5.5.30]# cmake . \
> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql3307 \
> -DMYSQL_DATADIR=/usr/local/mysql3307/data \
> -DDEFAULT_CHARSET=utf8 \
> -DDEFAULT_COLLATION=utf8_general_ci \
> -DEXTRA_CHARSETS=all \
> -DENABLED_LOCAL_INFILE=1 \
> -DMYSQL_TCP_PORT=3307 \
> -DMYSQL_UNIX_ADDR=/tmp/mysql3307.sock
[iyunv@mast mysql-5.5.30]# make
[iyunv@mast mysql-5.5.30]# make install
[iyunv@mast mysql-5.5.30]# cd /usr/local/mysql3307
[iyunv@mast mysql3307]# scripts/mysql_install_db --user=mysql \
> --basedir=/usr/local/mysql3307 \
> --datadir=/usr/local/mysql3307/data
[iyunv@mast mysql3307]# chown -R root:mysql .
[iyunv@mast mysql3307]# chown -R mysql:mysql data
--3.编辑my.cnf
vi /etc/my.cnf
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
user = multi_admin
password = multipass
# The MySQL server
[mysqld1]
port = 3306
socket = /tmp/mysql.sock
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
general_log=1
log_output=TABLE,FILE
slow_query_log=1
long_query_time=1
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
[mysqld2]
port = 3307
socket = /tmp/mysql3307.sock
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
general_log=1
log_output=TABLE,FILE
slow_query_log=1
long_query_time=1
basedir=/usr/local/mysql3307
datadir=/usr/local/mysql3307/data
user=mysql
--4.启动mysql,为各个实例的multi_admin设置密码,
mysqld_safe --user=mysql --port=3307 --socket=/tmp/mysql3307.sock --basedir=/usr/local/mysql3307 --datadir=/usr/local/mysql3307/data &
mysqld_safe --user=mysql --port=3306 --socket=/tmp/mysql.sock --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data &
mysql -uroot --socket=/tmp/mysql3307.sock --port=3307 -p
mysql -uroot --socket=/tmp/mysql.sock --port=3306 -p
--各个实例设置密码
GRANT SHUTDOWN ON *.* TO 'multi_admin'@'localhost' IDENTIFIED BY 'multipass';
mysqladmin -uroot --socket=/tmp/mysql3307.sock --port=3307 -p shutdown
mysqladmin -uroot --socket=/tmp/mysql.sock --port=3306 -p shutdown
--5.启动与关闭mysql
/usr/local/mysql/bin/mysqld_multi --defaults-file=/etc/my.cnf start 1,2
/usr/local/mysql/bin/mysqld_multi --defaults-file=/etc/my.cnf stop 1,2