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

来源:互联网 发布:js内置对象有哪些 编辑:程序博客网 时间:2024/06/03 19:17

【转】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代码  收藏代码
  1. #修改项(因为3306已经被占用,所以这里改用3307)  
  2. [client]  
  3. port            = 3307  
  4. [mysqld]  
  5. port            = 3307  
  6. #新增项:必须是唯一的pid  
  7. [mysqld]  
  8. datadir         = /usr/local/mysql2/data  
  9. [mysqld_safe]  
  10. 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


0 0
原创粉丝点击