数据库
首页 > 数据库> > Mysql多实例运行

Mysql多实例运行

作者:互联网


 mysql以多实例的方式,实现一台服务器,运行在不同端口不同数据文件的mysql,它们是相互独立的。
 

1、关闭原有的默认端口3306的mysql:service mysqd stop
 

2、拷贝或创建数据文件

#拷贝现有的mysql数据库文件#我的在/var/lib/mysql,拷贝一份至mysql_3307文件夹[root@xuegod63 ~]# cp -r /var/lib/mysql /var/lib/mysql_3307

#创建一个新的空数据库[root@xuegod63 ~]# mkdir /var/lib/mysql_3307[root@xuegod63 ~]# mysql_install_db--datadir=/var/lib/mysql_3307 --user=mysql

3、给数据文件赋予mysql用户与用户组

[root@xuegod63 ~]# chown -R mysql.mysql /var/lib/mysql_3307

4、创建multi的配置cnf文件,用于启动这个mysql实例(如3307)载入执行

[root@xuegod63 ~]# touch /usr/local/my_multi.cnf

文件中写入你想要的配置,如下为典型配置:


[mysqld_multi]

mysqld     = /usr/bin/mysqld_safe

mysqladmin = /usr/bin/mysqladmin

user       = root   

password   = 123456  


[mysqld3307]

socket     = /tmp/mysql_3307.sock

port       = 3307

pid-file   = /var/lib/mysql_3307/3307.pid

datadir    = /var/lib/mysql_3307/

log        = /var/lib/mysql_3307/3307.log

character-set-server    = utf8

user       = mysql

          

 5、启动你的多实例

[root@xuegod63 ~]# mysqld_multi--defaults-extra-file=/usr/local/my_multi.cnf start 3307

6、检查是否启动成功

[root@xuegod63 桌面]# netstat -natup |grep mysql

tcp        0      0 0.0.0.0:3307                0.0.0.0:*                   LISTEN      3450/mysqld         

 

如果没有发现你要的端口号mysql实例,可以检查下/var/lib/mysql_3307/3307.log文件,排除问题

7、设置新的密码

[root@xuegod63 ~]# mysqladmin -uroot -S/tmp/mysql_3307.sock password 123456

8、登入你的新实例

 

[root@xuegod63 ~]#mysql -uroot -S /tmp/mysql_3307.sock -p
Enter password:123456

dOQAAAAAAAAA&ek=1&kp=1&pt=0&bo=vwNsAQAAA
 

再次确认下,你的这个实例,是不是用的mysql_3307这个文件夹的数据

 dAoBAAAAAAAA&ek=1&kp=1&pt=0&bo=EwLDAAAAA

 发现一个新实例已经启动起来了.
然后我们启动一下原来的实例:service  mysqld restart

然后我们来看看是否启动起来两个实例:  
dAoBAAAAAAAA&ek=1&kp=1&pt=0&bo=5gOIAAAAA 
OK,我们发现两个实例两个端口都已经启动 


标签:lib,xuegod63,Mysql,实例,mysql,var,3307,root,运行
来源: https://blog.51cto.com/xinsz08/2698478