MySQL多实例(一台服务器搭建多个数据库)

什么是多实例?
在一台物理主机上运行多个数据库服务
为什么要用多实例
1)节约运维成本(一个物理主机可以搭建多个数据库)
2)提高硬件利用率(硬件只要支持就利用)
3)分担连接数量(通过端口连接)
##########################
安装软件

1)yum -y install libiao
2)useradd mysql

下载并解压:mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz

3)mv mysql-5.7.20-linux-glibc2.12-x86_64 /usr/local/mysql
4)PATH=/usr/local/mysql/bin:$PATH			//定义PATH的值(为了使用命令方便)
5)vim /etc/bashrc							//设置为别名(为了以后使用方便)
	export PATH=/usr/local/mysql/bin:$PATH

编辑主配置文件/etc/my.cnf

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

[mysqld1]		//实例进程名称
port=3307		//端口号
datadir=/dir1		//数据库目录 ,要手动创建
socket=/dir1/mysqld1.sock		//指定sock文件的路径和名称
pid-file=/dir1/mysqld1.pid		//进程pid号文件位置
log-error=/dir1/mysqld1.err		//错误日志位置 

[mysqld2]
port=3308
datadir=/dir2
socket=/dir2/mysqld2.sock
pid-file=/dir2/mysqld2.pid
log-error=/dir2/mysqld2.err 
:wq

创建数据库目录
]# mkdir /dir2 ]# mkdir /dir1
启动多实例
]# mysqld_multi start 1 //启动实例1 Installing new database in /dir1 2019-06-13T10:46:31.606321Z 1 [Note] A temporary password is generated for root@localhost: ly#LryiFE5fT 管理员本机登录密码
ls /dir1 //查看数据库目录文件列表

auto.cnf  ib_buffer_pool  ibdata1  ib_logfile0  ib_logfile1  ibtmp1  mysql  mysql3307.log  mysql3307.pid  mysql3307.sock  mysql3307.sock.lock  performance_schema  sys

mysqld_multi start 2 //启动实例2

 Installing new database in /dir2
 2019-06-13T10:56:57.724677Z 1 [Note] A temporary password is generated for root@localhost: qedTjrZs*8ma  管理员本机登录密码

ls /dir2 //查看数据库目录文件列表
auto.cnf ib_buffer_pool ibdata1 ib_logfile0 ib_logfile1 ibtmp1 mysql mysql3308.log mysql3308.pid mysql3308.sock mysql3308.sock.lock performance_schema sys
查看端口

]# netstat -utnlp  | grep :3307
tcp6       0      0 :::3307                 :::*                    LISTEN      1151/mysqld         

]# netstat -utnlp  | grep :3308
tcp6       0      0 :::3308                 :::*                    LISTEN      1339/mysqld         

]# netstat -utnlp | grep mysqld
tcp6       0      0 :::3307                 :::*                    LISTEN      1151/mysqld         
tcp6       0      0 :::3308                 :::*                    LISTEN      1339/mysqld         

# ps -C mysqld
  PID TTY          TIME CMD
 1151 pts/1    00:00:00 mysqld
 1339 pts/1    00:00:00 mysqld

访问多实例

你可能感兴趣的:(改革升级)