您好,登录后才能下订单哦!
本篇文章给大家分享的是有关MySQL多实例的配置应用实例场景是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
在一台服务器上,运行多个数据库服务,这些服务进程通过不同的socket监听不同的服务端口来提供各自的服务;
节约运维成本
提高硬件利用率
资金比较紧张的公司;
并发访问不是特别大的业务;
1.安装软件
具体操作:
解压软件、修改目录名、修改PATH路径
如果在已有数据库服务的机器上运行多实例,先查看数据库服务的版本是否支持多实例,如果不支持需要停掉服务,安装能支持多实例的数据库版本
接下来安装提供多实例服务的软件
下面演示的版本为MySQL5.7.36,使用二进制安装,其余安装方式请看MySQL的安装方式
groupadd -r -g 306 mysql useradd -g 306 -r -u 306 mysql tar -zxvf mysql-5.7.36-linux-glibc2.12-x86-64.tar.gz mv /root/mysql-5.7.36-linux-glibc2.12-x86_64 /usr/local/mysql
2.配置文件
主配置文件/etc/my.cnf
每个实例要有独立:数据库目录、端口
socket文件、pid文件、错误日志文件
vim /etc/my.cnf [mysqld_multi] #启动多实例 mysqld = /usr/local/mysql/bin/mysqld_safe #指定进程文件路径 mysqladmin = /usr/local/mysql/bin/mysqladmin #指定管理命令路径 user = root #指定进程用户 #pass = MySQL@123 #可以不指定密码,在初始化的时候也会出现密码 [mysqld3306] #实例进程名称,3306是服务编号 socket = /tmp/mysql.sock1 #指定sock文件的路径和名称 port = 3306 #指定端口 pid-file = /data/3306/mysqld.pid #进程文件pid号文件按位置 datadir = /data/3306 #数据库目录,最好提前创建 log-error = /data/3306/mysqld.log #错误日志位置 [mysqld3307] socket = /tmp/mysql.sock2 port = 3307 pid-file = /data/3307/mysqld.pid datadir = /data/3307 log-error = /data/3307/mysqld.log mkdir -p /data/330{6..7} chown -R mysql:mysql /data/330{6,7}
socket文件:自己访问自己的数据库服务时,通过socket文件传递参数
3.启动服务
管理多实例
启动服务
mysqld_multi start 实例编号 #启动服务
停止服务
mysqld_multi --user=root --password=密码 stop 实例编号
/usr/local/mysql/bin/mysqld_multi start 3306 #首次启动初始化 #也可以使用这个命令来初始化 /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/3307 #用这个命令初始化之后还需要在使用启动服务 /usr/local/mysql/bin/mysqld_multi start 3307 输入绝对路径太麻烦,可以写入环境变量 vim /etc/ export PATH=$PATH:/usr/local/mysql/bin/ source /etc/profile.d/mysql.sh #然后就可以写短指令 mysqld_multi start 3307
4.查看服务状态
ss -nultp | grep 3306 ss -nultp | grep 3307
5.使用初始密码连接服务
客户端访问
本机连接
使用初始密码连接
修改本机登录密码
#mysql -uroot -p'初始密码' -S sock文件 #mysql>alter user root@"localhost" identified by "新密码"; #连接第一个数据库实例测试 /usr/local/mysql/bin/mysql -uroot -p'' -S /tmp/mysql.sock1 show databases; alter user root@"localhost" identified by "123456"; show databases; exit #连接第二个数据库实例测试 mysql -uroot -p'' -S /tmp/mysql.sock2 show databases; alter user root@"localhost" identified by "123456"; show databases; exit
使用新密码再次登录验证
6.停止多实例
mysqld_multi --user=root --password=123456 stop 3306 #mysqld_multi --user=root --password=123456 stop 如果不写实例号,就会停止数据库用户为root密码为123456的实例 ss -nultp | grep 3306
以上就是MySQL多实例的配置应用实例场景是怎样的,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。