1. 网上有人写过教程,但是写的并不详细。只是告诉你怎么写配置文件和如何启动和停止实例。
由于工作,我也亲自配置了一下mysql启动多个实例。
a) 配置文件。 例如 [mysqld_muti] 和 [mysqld1] 这个必须需要配置,需要多个实例,就增加mysqd的配置。
[mysqld_multi]
mysqld = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
user = root
[mysqld1]
socket = /tmp/mysql1.sock
port = 3306
pid-file = /data/mysqld1/1.pid
datadir = /data/mysqld1/
log = /data/mysqld1/1.log
user = mysql
[mysqld2]
socket = /tmp/mysql2.sock
port = 3307
pid-file = /data/mysqld2/2.pid
datadir = /data/mysqld2/
log = /data/mysqld2/2.log
user = mysql
b) 因为mysql服务启动默认会有mysql和test这个库,而mysql这个库是mysql启动时需要用到的。所以我们把
mysql库的数据文件拷贝至我们想要启动的实例的数据库路径。并赋予mysql可读写的权限。 (这一步不做的话,启动实例会报找不到mysql.host ,等找不到mysql数据库的错误)
c) 配置好后,mysqld_multi --config-file=/etc/my.cnf.test start 1,2
这样就启动了。
d) ps -ef|grep mysqld 看是否mysql实例已经启动
e) 每个实例的日志分别在各自的datadir下。 请自行查找 *.err 的文件,并查看什么启动错误,好定位问题。
f) 停止实例 mysqld_multi --config-file=/etc/my.cnf.test stop 1,2
启动完毕后,可以访问各实例了。 mysql -P 3307/3306 -h 127.0.0.1
阅读(4789) | 评论(1) | 转发(1) |