在一个服务器上安装两个MySQL启动到不同的端口

我的实际情况是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解压缩目录权限问题,增大权限试试看?

你可能感兴趣的:(C++,c,mysql,centos,C#)