1. 在/etc/my.cnf中加入一下内容
[mysqld_dev]
socket=/tmp/mysql.sock
port=3307
pid-file=/var/run/mysqld/mysqld_dev.pid
datadir=/var/lib/mysql_dev
log=/var/log/mysqld_dev.log
log-error=/var/log/mysqld_dev.err.log
user=mysql
2. 根据以上内容创建目录和文件
mkdir /var/lib/mysqld_dev
chown mysql:mysql /var/lib/mysqld_dev
...
3. 编写/etc/rc.d/init.d/mysqld_dev, 或者从/etc/rc.d/init.d/mysqld copy 一份,然后修改其中获取参数的代码。
get_mysql_option mysqld_dev datadir "/var/lib/mysql"
datadir="$result"
get_mysql_option mysqld_dev socket "$datadir/mysql.sock"
socketfile="$result"
get_mysql_option mysqld_dev log-error "/var/log/mysqld.log"
errlogfile="$result"
get_mysql_option mysqld_dev pid-file "/var/run/mysqld/mysqld.pid"
mypidfile="$result"
4. 启动server
servie mysqld_dev start
发现错误
mysqld_safe [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
需要用mysql_install_db来创建系统表。
mysql_install_db --user=mysql --datadir=/var/lib/mysql_dev/
再次重启,成功
5. 用mysql -u root -S /tmp/mysql.sock 就可以连接上这个instance了。
6. 如果不想写-S /tmp/mysql_dev.sock, 可以在my.cnf 的[client]中加入代码设为默认sock
[client]
socket= /tmp/mysql_dev.sock