日期:2018-12-26
前言:本想测试mysql的主从表实践操作,奈何资源不足,只有一台测试服务器,于是乎各种百度 在同一个服务器搭建多个mysql实例的方法,官方推荐的是采用 二进制文件安装 和 源码 安装的mysql 的时候的操作,详情见https://dev.mysql.com/doc/refman/5.7/en/multiple-servers.html, 但是自己是通用yum install mysql 的方式操作的,不想删掉重新弄,想坚持yum的方式。
此文主要通过网上搜索和自己实践,整理和记录一下自己 实际 通过 yum 安装mysql 多个实例的操作;
安装mysql 部分,就略了。
安装完成后自己试了能通过mysql -u root -p 可以登录即是安装完成。
登录之后show variables like '%basedir%';
我的为 basedir = /usr
/*****
补充一个坑,阿里云 安装 mysql 的时候 并不会主动 给建立sock,怎么弄都没弄出来,后来重启一下就好了就有sock了;但是今天建立第二个mysql实例的时候 也是没sock的 但是发现 通过初始化 会自动建立 sock;,当时没有想到去重新初始化mysql。。
****/
1.事先创建好用于 存放其他实例文件的文件夹;
我的是
/usr/mysql_3307
/usr/mysql_3307/data
/usr/mysql_3307/socket
/usr/mysql_3308
/usr/mysql_3308/data
/usr/mysql_3308/socket
2.停用 之前的mysql , service mysqld stop;
3.在/usr/mysql_3307 和/usr/mysql_3308 中 创建 my.cnf 文件。
配置 按自己所需。我的3308的 my.cnf
4.运行如下指令初始化3307 3308 这2个实例
mysql_install_db --basedir=/usr --datadir=/usr/mysql_3307/data --user=mysql
mysql_install_db --basedir=/usr --datadir=/usr/mysql_3308/data --user=mysql
/* 通用 yum 安装的 会自动创建 mysql 用户。*/
此时 应该 对应的目录 有生成的文件。
5.通过指令
mysqld_safe --defaults-file=/usr/mysql_3308/my.cnf &
可能遇到这个的时候,我自己手动添加了 日志文件,并给予了权限;
/** chown -R mysql:mysql /usr/mysql_3308 **/
6.常用指令:
start启动
mysqld_safe --defaults-file=/usr/mysql_3308/my.cnf &
Stoping停止
mysqladmin -u root -p${mysql_password} -S /usr/mysql_3308/socket/mysql3308.sock shutdown
查看进程
ps -ef | grep mysql
连接实例
mysql -u root -S /usr/mysql_3308/socket/mysql3308.sock
7.授权
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;
8.远程登录 成功!
本人依据https://blog.csdn.net/poklau/article/details/54951798的作者,
可以参考如上链接;