业务需要在一台机器上启动两个mysql进程。
解决方案有两种:
- 方案一:将mysql启动脚本copy一份,指向不同目录
- 方案二:使用mysqld_multi 管理启动多个实例。
最终我选用方案一。
方案一:
- 创建新数据文件目录:
1
2mkdir -p /opt/mysql/jira_db_4406
chown -R mysql:mysql /opt/mysql/mysql - 初始化目录
1
2
3mysql_install_db --datadir=/opt/mysql/jira_db_4406 --user=mysql
cp /etc/my.cnf /opt/mysql/jira_db_4406
cp /etc/init.d/mysql /etc/init.d/mysql_jira - 修改/opt/mysql/jira_db_4406/my.cnf 中端口号
- 修改启动脚本 /etc/init.d/mysql_jira
1
bindir/mysqld_safe --defaults-file=/opt/mysql/jira_db_4406/my.cnf --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null 2>&1
(ps:重点加–defaults-file=/opt/mysql/jira_db_4406/my.cnf –defaults-file 一定要是第一个参数)
- 启动
1
2> /etc/init.d/mysql_jira start
> chkconfig --level 3 mysql_jira on - 修改默认密码
1
> mysqladmin -u root password 123456
- 支持远程登录
1
2
3> mysql -h 127.0.0.1 -P 4406 -u root -p
mysql > GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
mysql > flush privileges;