mysql-5.1.73多实例安装启动

1. 源码包下载:http://download.softagency.net/MySQL/Downloads/MySQL-5.1/ 

2. 编译安装

groupadd mysql
useradd -r -g mysql mysql
mkdir /data/mysql_multi/mysql_exa1/
cd /data/mysql_multi/mysql_exa1/
mkdir data binlog log

mkdir /data/mysql_multi/mysql_exa2/
cd /data/mysql_multi/mysql_exa2/
mkdir data binlog log

chown -R mysql:mysql /data/mysql_multi/mysql_exa2/ /data/mysql_multi/mysql_exa1/

cd /data/installs/mysql-5.1.73
./configure --prefix=/usr/local/mysql5.1 
make
make install 

cd /usr/local/mysql5.1/bin/
./mysql_install_db --user=mysql --basedir=/usr/local/mysql5.1 --datadir=/data/mysql_multi/mysql_exa1/data/ 
./mysql_install_db --user=mysql --basedir=/usr/local/mysql5.1 --datadir=/data/mysql_multi/mysql_exa2/data/

cp -rp ../share/mysql/mysqld_multi.server /etc/init.d/mysql_multi #复制启动文件
vim /etc/init.d/mysql_multi #修改basedir 和 datadir

 

3. 配置多实例

[mysqld_multi]
mysqld     = /usr/local/mysql5.1/bin/mysqld_safe
mysqladmin = /usr/local/mysql5.1/bin/mysqladmin
user       = root #管理实例时指定的用户名和密码
password   = 1234

[client]
#port        = 3306
#socket        = /data/mysql_multi/mysql_exa1/mysql.sock

[mysqld3307]
server-id    = 3307
port        = 3307

socket        = /data/mysql_multi/mysql_exa1/mysql.sock
pid-file = /data/mysql_multi/mysql_exa1/mysql.pid
datadir = /data/mysql_multi/mysql_exa1/data
log-error = /data/mysql_multi/mysql_exa1/log/error.log

long_query_time = 1
slow_query_log_file = /data/mysql_multi/mysql_exa1/log/slow-query.log

log-bin = /data/mysql_multi/mysql_exa1/binlog/mysql-bin
log-bin-index = /data/mysql_multi/mysql_exa1/binlog/mysql-bin.index
expire_logs_days = 2
binlog_format=mixed

skip-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


[mysqld3308]
server-id   = 3308
port        = 3308

socket      = /data/mysql_multi/mysql_exa2/mysql.sock
pid-file = /data/mysql_multi/mysql_exa2/mysql.pid
datadir = /data/mysql_multi/mysql_exa2/data
log-error = /data/mysql_multi/mysql_exa2/log/error.log

long_query_time = 1
slow_query_log_file = /data/mysql_multi/mysql_exa2/log/slow-query.log

log-bin = /data/mysql_multi/mysql_exa2/binlog/mysql-bin
log-bin-index = /data/mysql_multi/mysql_exa2/binlog/mysql-bin.index
expire_logs_days = 2
binlog_format=mixed

skip-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

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

 

4. 启动多实例

root@192.168.100.246:/usr/local/mysql5.1/bin# /etc/init.d/mysqld_multi start 3307
root@192.168.100.246:/usr/local/mysql5.1/bin# /etc/init.d/mysqld_multi start 3308
root@192.168.100.246:/usr/local/mysql5.1/bin# netstat -lntp | grep mysql         
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      26218/mysqld        
tcp        0      0 0.0.0.0:3307                0.0.0.0:*                   LISTEN      31910/mysqld        
tcp        0      0 0.0.0.0:3308                0.0.0.0:*                   LISTEN      32154/mysqld 

 

5. 关闭多实例

5.1 分别设置密码

root@192.168.100.246:/usr/local/mysql5.1/bin# mysql -uroot -p -S /data/mysql_multi/mysql_exa1/mysql.sock #指定sock文件路径登录
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.73-log Source distribution

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license

Type help; or \h for help. Type \c to clear the current input statement.

mysql> set password=password(1234);
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

root@192.168.100.246:/usr/local/mysql5.1/bin# mysql -uroot -p -S /data/mysql_multi/mysql_exa2/mysql.sock
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.73-log Source distribution

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license

Type help; or \h for help. Type \c to clear the current input statement.

mysql> set password=password(1234);
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

 

5.2 关闭实例

root@192.168.100.246:/usr/local/mysql5.1/bin# /etc/init.d/mysqld_multi stop 3307
root@192.168.100.246:/usr/local/mysql5.1/bin# /etc/init.d/mysqld_multi stop 3308   
root@192.168.100.246:/usr/local/mysql5.1/bin# netstat -lntp | grep mysql
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      26218/mysqld  

 

6. 注意事项

6.1 mysql_multi.log默认路径:/usr/local/mysql5.1/share/mysqld_multi.log

6.2 新加实例时,只需要在配置文件加上实例相关配置,启动实例即可,停止实例也类似

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。