您的位置:首页 > 数据库

同一服务器上启动多个数据库的方法及常见问题

2015-08-20 15:15 459 查看
【转】http://koda.iteye.com/blog/788854

我的实际情况是CentOS已经安装并启动了MySQL。所以我选择解压二进制包的方式安装第二个MySQL. 

1. 去MySQL官方下载解压缩版的二进制包,可以解压缩到/usr/local/mysql2 
2. 在安装目录下执行 
   ./scripts/mysql_install_db --basedir=/usr/local/mysql2 --datadir = /usr/local/mysql2/data 
3. 复制support-files/my-medium.ini到安装目录下更名为my.cnf,权限修改为可读 

Ini代码  


#修改项(因为3306已经被占用,所以这里改用3307)  

[client]  

port            = 3307  

[mysqld]  

port            = 3307  

#新增项:必须是唯一的pid  

[mysqld]  

datadir         = /usr/local/mysql2/data  

[mysqld_safe]  

pid-file=/var/run/mysqld/mysqld2.pid  

4. 启动mysql 
在解压缩目录执行 
./bin/mysqld_safe --basedir=/usr/local/mysql2/ --user=root & 
将自动加载该目录下的my.cnf 

FAQ: 
a. 启动mysqld出现错误  mysqld_safe A mysqld process already exists 
一定是mysql的已经启动,再启动时导致pid文件冲突,修改my.cnf的pid-file项 

b:启动mysqld出现错误 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist 
一般是步骤2没有执行,或者执行时没有指定--datadir选项。 

c 启动mysqld出现错误 './mysql-bin.index' not found (Errcode: 13) 
可能是mysql解压缩目录权限问题,增大权限试试看? 

d、停止MYSQL,对应的sock文件。

/usr/local/mysql/bin/mysqladmin -uroot -S /tmp/mysql3308.sock shutdown

e、登陆mysql

mysql -S /tmp/mysq3308.sock -P 3308
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: