加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

使用多个 mysql 的实例来运行

发布时间:2023-08-05 14:49:50 所属栏目:MySql教程 来源:
导读: mysql以多实例的方式,实现一台服务器,运行在不同端口不同数据文件的mysql,它们是相互独立的。

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

2、拷贝或创建数据文件

#拷贝现有的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
 
再次确认下,你的这个实例,是不是用的mysql_3307这个文件夹的数据

 发现一个新实例已经启动起来了.
 
然后我们启动一下原来的实例:service  mysqld restart
 
然后我们来看看是否启动起来两个实例:  
 
OK,我们发现两个实例两个端口都已经启动
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章