一、首先需要安装MySQL,本文不做介绍。
参考【MySQL】Linux下安装卸载Mysql数据库
二、初始化多个数据库的目录及目录权限。可以使用mysql_install_db或直接拷贝目录的方式
使用mysql_install_db
先拷贝my.cnf到mysql2
mysql_install_db --basedir=/ --datadir=/usr/lib/mysql2/data/ --user=mysql
直接拷贝
cp –f mysql mysql2
cp –f mysql mysql3
cp –f mysql mysql4
同时修改目录权限
chown -R mysql mysql2
最后目录结构如下
三、配置各个数据库的my.cnf成各自路径
如:
[client]
#password = your_password
port = 3309
socket = /var/lib/mysql4/mysql.sock
[mysqld]
port = 3309
socket = /var/lib/mysql4/mysql.sock
pid-file=/var/lib/mysql4/db.pid
datadir=/var/lib/mysql4
log-error=/var/lib/mysql4/db.err
四、启动数据库(两种方式)
1、使用mysqld_safe
启动数据库:
mysqld_safe --defaults-file=/var/lib/mysql/my.cnf --datadir=/var/lib/mysql4/ --pid-file=/var/lib/mysql4/db.pid
mysqld_safe --defaults-file=/var/lib/mysql2/my.cnf --datadir=/var/lib/mysql4/ --pid-file=/var/lib/mysql4/db.pid
mysqld_safe --defaults-file=/var/lib/mysql3/my.cnf --datadir=/var/lib/mysql4/ --pid-file=/var/lib/mysql4/db.pid
mysqld_safe --defaults-file=/var/lib/mysql4/my.cnf --datadir=/var/lib/mysql4/ --pid-file=/var/lib/mysql4/db.pid
启动后,效果如图:
连接数据库
mysql -uroot -proot --socket=/var/lib/mysql/mysql.sock
mysql -uroot -proot --socket=/var/lib/mysql2/mysql.sock
停止数据库
mysqladmin --socket=/var/lib/mysql.sock -uroot -proot shutdown
2、使用mysqld_multi
首先创建一个mysqld_multi的/etc/mysql_multi.cnf文件
并配置各个数据库的信息
[mysqld_multi]
mysqld = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
user = multi_admin
password = 123456
# The MySQL server
[mysqld1]
socket = /tmp/mysql1.sock
port = 3307
pid-file = /var/lib/mysql/mysql.sock
pid-file = /var/lib/mysql/db.pid
datadir = /var/lib/mysql
user = mysql
# The MySQL server
[mysqld2]
port = 3308
socket = /var/lib/mysql2/mysql.sock
pid-file = /var/lib/mysql2/db.pid
datadir = /var/lib/mysql2/
user = mysql
。。
启动数据库
mysqld_multi --config-file=/etc/mysql_multi.cnf start 1-2
停止数据库
mysqld_multi --config-file=/etc/mysql_multi.cnf stop 1-2