我的实际情况是CentOS已经安装并启动了MySQL。所以我选择解压二进制包的方式安装第二个MySQL.
1. 去MySQL官方下载解压缩版的二进制包,可以解压缩到/usr/local/mysql2
2. 在安装目录下执行
./scripts/mysql_install_db --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解压缩目录权限问题,增大权限试试看?