【转】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,权限修改为可读
- #修改项(因为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