1.前提准备
假设大家已经装好了Mysql。
本文中配置的mysql多实例时在mysql5.6.28的基础上进行配置的单机多实例案例。
2.准备mysql用户
groupadd mysql
useradd -g mysql mysql
3.准备数据库实例数据存放的默认位置
mkdir /var/lib/mysql_13306
chown -R mysql:mysql mysql_13306
4.配置多实例的权限
1.编辑/etc/apparmor.d/usr.sbin.mysqld
2.在# Allow pid and socket file access下加入
/run/mysqld/mysqld_13306.pid rw,
/run/mysqld/mysqld_13306.sock rw,
3.在# Allow data dir access下加入
/var/lib/mysql_13306/ r,
/var/lib/mysql_13306/** rwk,
4.重启多实例目录的权限,使配置更新
/etc/init.d/apparmor reload
5.初始化实例目录
mysql_install_db --basedir=/usr --datadir=/var/lib/mysql_13306 --user=mysql
6.Mysql配置文件
[client]
port = 13306
socket = /var/run/mysqld/mysqld_13306.sock
[mysqld_safe]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
explicit_defaults_for_timestamp
[mysqld_multi]
mysqld = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
user = multi_admin
password = multi_password
[mysqld1]
port = 13306
datadir = /var/lib/mysql_13306
pid-file = /var/run/mysqld/mysqld_13306.pid
socket = /var/run/mysqld/mysqld_13306.sock
user = mysql
log-error = /var/log/mysql/error_13306.log
7.启动实例
1.启动实例:mysqld_multi start 1
2.查看实例是否启动:mysqld_multi report
输出结果
8.访问实例
1.出错
2.解决方案
(1)关闭数据库服务
/etc/init.d/mysql stop
(2)启动mysql时,不启动授权表来修改root的密码
1)mysqld_safe --user=mysql --skip-grant-tables --skip-networking
2)输入mysql
3)登录mysql表,mysql>use mysql;
4)修改密码update user set password=password("passwors") where user="user";
5)刷新,flush privileges;
(3)显示的全部进程信息中搜索包含mysql字符串的信息,并显示出来
ps -A | grep mysql
(4)停止mysql,kill -9 20061 20135 20176 20514
(5)重启mysql服务
/etc/init.d/mysql start
8.访问成功
原创:转发请标识转发自http://blog.csdn.net/cao812755156/article/category/5615281