现在的位置: 首页 > 综合 > 正文

创建mysql实例

2013年04月06日 ⁄ 综合 ⁄ 共 1048字 ⁄ 字号 评论关闭

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
 

 

 

 

 

This article is created by 开心写作网

抱歉!评论已关闭.