数据库

12 MySQL 多实例

2019-02-12  本文已影响2人  Kokoronashi

MySQL 多实例

[TOC]

多实例概述

什么是多实例:

在一台物理主机上运行多个数据库服务

优点:

配置多实例

配置步骤

  1. 安装支持多实例服务的软件包
  2. 修改主配置文件
  3. 初始化授权库
  4. 启动服务
  5. 客户端访问测试

安装配置

#下载 二进制 mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz 包,解压
tar -xf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz  -C /usr/local

#方便使用 创建软链
ln -s /usr/local/mysql-5.7.25-linux-glibc2.12-x86_64 /usr/local/mysql

#创建 mysql 用户
groupadd mysql -g 27
useradd -r -u 27 -g mysql -s /bin/false mysql

添加 my.cnf 配置

#启用多实例
[mysqld_multi]
#指定进程文件路径
mysqld=/usr/local/mysql/bin/mysqld_safe
#指定管理命令路径
mysqladmin=/usr/local/mysql/bin/mysqladmin
#指定进程用户
user=root

#实例进程名称,1表示实例编号.
[mysqld1]
port=3307
datadir=/data/mysql3307
pid-file=/data/mysql3307/my3307.pid
socket=/data/mysql3307/my3307.socket
log-error=/data/mysql3307/my3307.err

[mysqld2]
port=3308
datadir=/data/mysql3308
pid=/data/mysql3308/my3308.pid
socket=/data/mysql3308/my3308.socket
log-error=/data/mysql3308/my3308.err

创建数据目录

mkdir -p /data/msyql_{3307,3308}
chown mysql. -R /data

初始化授权库

记录初始化最后的初始密码

mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_3307 --initialize
mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql_3308 --initialize

导入环境变量

export PATH=/usr/local/mysql/bin/:$PATH
source /etc/profile

启动 停止

mysqld_multi start 1
mysqld_multi start 2
mysqld_multi --user=root --password="password" stop 1
mysqld_multi --user=root --password="password" stop 2

连接测试

  1. 使用初始密码连接
  2. 修改本机登录密码
  3. 连接实例
mysql -uroot -p -S /path/socket
mysql> alter user root@'localhost' identified by '123123';

排错

[root@localhost mysql]# mysqld_multi start 1
-bash: ./bin/mysqld_multi: /usr/bin/perl: bad interpreter: No such file or directory
#缺少perl依赖
yum -y install perl perl-devel
[root@localhost mysql]# ./bin/mysqld_multi start 1
WARNING: my_print_defaults command not found.
Please make sure you have this command available and
in your path. The command is available from the latest
MySQL distribution.
ABORT: Can't find command 'my_print_defaults'.
This command is available from the latest MySQL
distribution. Please make sure you have the command
in your PATH.
#未配置环境变量,需要添加 /usr/local/mysql/bin至环境变量
export PATH=/usr/local/mysql/bin/:$PATH
source /etc/profile
上一篇下一篇

猜你喜欢

热点阅读