mysql多实例启动

 

mysql多实例启动
  • mysqld_multi :可以管理多个mysql实例

创建3个目录:
mkdir data1
chown mysql.mysql ./data1 -R
mkdir data2
chown mysql.mysql ./data2 -R
mkdir data3
chown mysql.mysql ./data3 -R
初始化数据库
mysql_install_db --basedir=/opt/mysqld --datadir=/opt/mysqld/data1 --user=mysql
mysql_install_db --basedir=/opt/mysqld --datadir=/opt/mysqld/data2 --user=mysql
mysql_install_db --basedir=/opt/mysqld --datadir=/opt/mysqld/data3 --user=mysql

编辑参数文件 my.cnf
cp my.cnf my.cnf.bak
加入如下内容
[mysqld_multi]
mysqld = /opt/mysql/bin/mysqld_safe
mysqladmin= /opt/mysql/bin/mysqladmin
user = test//这个用户和密码是用来关闭mysql服务的
password= test
[mysqld3306]
内容与mysql标签下的一致,稍作修改
主要更改,端口号, socket文件,数据目录
加入一个参数 pid-file =/tmp/mysql3306.pid
[mysqld3307]

[mysqld3308](实例配置)
*********************
[mysqld3308]
datadir=/root/dd
port    = 3308
socket  = /var/lib/mysql/mysql3308.sock
pid-file     =/tmp/mysql3308.pid
******************************
使用 mysql_multi启动多实例:
./bin/mysqld_multi --defaults-file=./my.cnf start 3306
./bin/mysqld_multi --defaults-file=./my.cnf start 3307
./bin/mysqld_multi --defaults-file=./my.cnf start 3308
连接mysql:
mysql -S ./mysql3306.sock
mysql -S ./mysql3306.sock
mysql -S ./mysql3306.sock

关闭mysql
./bin/mysqld_multi --defaults-file=./my.cnf stop 3308  此时是不成功的,因为没有test这个用户,所以需要创建
1.使用socket文件方式登录 mysql -S /tmp/mysql3308.sock
2. grant shutdown on *.* to test@localhost identified by 'test' with grant option;
show grants for test@localhost
在使用./bin/mysqld_multi --defaults-file=./my.cnf stop 3308 就可以关闭mysql实例了
日志文件: ./mysqld_multi.log
使用mysqld_multi来启动mysql还有一种方法,可以一次启动多个实例
./bin/mysqld_multi --defaults-file=./my.cnf start 3306-3308

 

本文出自 “linux浪子” 博客,谢绝转载!

你可能感兴趣的:(mysql)