mysql_multi是用来管理多个mysql实例的脚本命令。这个实验主要是编辑my.cnf。首先要创建多个不同的目录用于存放不同的实例。然后用bin/mysql_install_db --basedir=mysql的目录 --datadir=数据存放的目录 --user=所属的用户,创建好了多个mysql实例后就编辑文档my.cnf在里面加上:

[mysqld_multi]

mysqld=/usr/local/mysql/bin/mysqld_safe(根据自己的安装路径)

mysqladmin=/usr/local/mysql/bin/mysqladmin(根据自己的安装路径)

user=mysql

password=123456

[mysql3306(必须是整数每个实例都不相同)]

port=3306(每个实例的端口号必须是不同的)

socket=/tmp/mysql3306.sock(每个实例socket文件名字不能相同)

pid-file=/tmp/mysql3306.pid(每个实例的pid名字不能相同)

basedir=mysql存放的目录

datadir=mysql实例存放的路径

.

.

.

其它的参数可以根据自己的需要增减。

在用mysqld_multi --defaults-file=/etc/my.cnf --user=mysql start 端口号。进行启动。

用mysql -S /tmp/mysql3306.sock进行连接。

也可以用mysql -u mysql -P 端口号 --protocol=tcp进行连接。

连接上去后要创建用户和密码不然不能关掉mysql实例。

创建的用户名和密码要和my.cnf文件里的[mysqld_multi]下面的user和password一致。

创建的命令是:grant shutdown on *.* to root@'localhost' identified by '123456';

用show grants for mysql@'localhost';可以查看用户的权限等信息。