同一台机器上配置两个MySQL实例

  <>强摘要:强实际环境中,为充分利用硬件资源,同一台机器上可能运行多个mysql实例,本文分享一种实现方法。      

原文链接:   

https://www.modb.pro/db/22741?cyn    

  1 .虚拟机准备

  

  1.1。VMware工作站Pro 12.1

  

内存:建议至少2 g   
硬盘:建议至少40 g,动态分配

  

  1.2。操作系统准备

  

操作系统为CentOS 6.5 64位   
IP: 192.168.0.13   
主机名:

来源   

  1.3。MySQL软件准备

  

mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz   

  2 .安装前系统环境配置调整

  

2.1。关闭SELinux   2.2
。关闭系统防火墙   2.3
。调整I/O调度系统为期限模式   2.4
。分交换区的设置   2.5
。操作系统的限制   2.6
。关闭numa

  

此部分略,可参考之前发布的一篇文章来配置   
  centos6.5上安装mysql 5.7.20

  

  mysql 3.安装规划

  

软件包目录:/opt/软   
MySQL家目录/usr/local   
MySQL数据目录/数据/mysql1/数据/mysql2   
配置文件目录/etc/my1.cnf/etc/my2.cnf   
实例1端口3306   3307年
实例2端口

  

  4 .创建目录

  

mkdir - p/opt/软   
mkdir - p/数据/mysql1   
mkdir - p/数据/mysql2

  

  5 .创建MySQL用户

  

useradd mysql1 - s/sbin/nologin   


passwd mysql1   

useradd mysql2 - s/sbin/nologin   


passwd mysql2   

——密码为oracle123

  

  6 .安装MySQL软件

  

cd/opt/软

  

焦油-xzf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz   

mv mysql-5.7.20-linux-glibc2.12-x86_64/usr/local/mysql-5.7.20-linux-glibc2.12-x86_64_1   cd/usr/local

  

cp - r mysql-5.7.20-linux-glibc2.12-x86_64_1 mysql-5.7.20-linux-glibc2.12-x86_64_2

  

ln - s mysql-5.7.20-linux-glibc2.12-x86_64_1 mysql1   
ln - s mysql-5.7.20-linux-glibc2.12-x86_64_2 mysql2

  

乔恩- r mysql1: mysql1/usr/local/mysql1   
乔恩- r mysql2: mysql2/usr/local/mysql2

  

乔恩- r mysql1: mysql1/数据/mysql1   
乔恩- r mysql2: mysql2/数据/mysql2

  

  7 .编辑参数文件

  

vi/etc/my1.cnf   

[客户]   
=3306端口   
套接字=/tmp/mysql1.sock

  

(mysql)   
提示符=癨 u@db \ R: \ m: \ s (\ d)比;“;   


no-auto-rehash   

(mysqld)   用户=mysql1
  
=3306端口   
basedir=/usr/local/mysql1   
datadir=/数据/mysql1   
套接字=/tmp/mysql1.sock   
pid文件=/tmp/mysql3306.pid

  <人力资源/>   

vi/etc/my2.cnf   

[客户]   
=3307端口   
套接字=/tmp/mysql2.sock

  

(mysql)   
提示符=癨 u@db \ R: \ m: \ s (\ d)比;“;   


no-auto-rehash   

(mysqld)   用户=mysql2
  
=3307端口   
basedir=/usr/local/mysql2   
datadir=/数据/mysql2   
套接字=/tmp/mysql2.sock   
pid文件=/tmp/mysql3307.pid

  

说明:需要加插座参数,否则启动第二个实例报错,无法启动第二个实例。

  

  8. mysql数据库初始化

  

cd/usr/local/mysql1/bin   
。/mysqld——初始化用户=mysql1——basedir=/usr/地方/mysql1 datadir=/数据/mysql1

  

cd/usr/local/mysql2/bin   
。/mysqld——初始化用户=mysql2——basedir=/usr/地方/mysql2 datadir=/数据/mysql2

  

  9 .修改登录密码

  

——跳过权限表,启动mysql实例   
/usr/地方/mysql1/bin/mysqld_safe——用户=mysql1——端口=3306套接字=/tmp/mysql1。袜子——pid文件=/tmp/mysql3306。pid——basedir=/usr/地方/mysql1 datadir=/数据/mysql1——skip-grant-tables,

  

/usr/地方/mysql2/bin/mysqld_safe——用户=mysql2——端口=3307套接字=/tmp/mysql2。袜子——pid文件=/tmp/mysql3307。pid——basedir=/usr/地方/mysql2 datadir=/数据/mysql2——skip-grant-tables,

  

本地连接mysql实例   
mysql -uroot - p=3306——协议tcp - p   
mysql -uroot - p=3307——协议tcp - p   
以-skip-grant-tables跳过权限表,启动mysql实例,登录连接数据库时,输入错误密码或者空密码,都可以登录mysql数据库。

  

使用mysql   
选择主机、用户authentication_string, password_expired从用户;   
更新用户设置password_expired=' N '用户=案?   

同一台机器上配置两个MySQL实例