MySQL多实例安装开机自启动服务配置过程
导读
1.mysql多实例
mysql多实例是指在一台或多台机器上跑多个mysql数据库,大大节省开销的费用,方便管理数据内容。
2.环境设备
系统版本 | 安装方式以及版本 |
---|---|
centos8 | mysql5.7(二进制安装) |
3.创建数据目录
安装包添加环境变量以及属主等步骤省略,各路神仙都会
[root@clq ~]# mkdir /opt/data/{3306,3307,3308} -p [root@clq ~]# chown mysql.mysql /opt/data/*
4.分别初始化数据库
[root@192 ~]# mysqld --initialize --datadir=/opt/data/3306 --user=mysql [root@192 ~]# mysqld --initialize --datadir=/opt/data/3307 --user=mysql [root@192 ~]# mysqld --initialize --datadir=/opt/data/3308 --user=mysql #分别保存3个mysql密码 [root@192 ~]# echo 'wxa+r_N6ooYu' > 3306 [root@192 ~]# echo 'faiuehfaowh' > 3307 [root@192 ~]# echo 'fuahfu' > 3308
5.安装perl
Perl提供脚本语言(如sed和awk)的所有功能
[root@clq ~]# yum -y install perl
6.安装mysql需要的包
[root@clq ~]# dnf whatprovides libncurses.so.5 ncurses-compat-libs-6.1-7.20180224.el8.i686 : Ncurses compatibility libraries #查看哪个包提供仓库 : @System匹配来源:提供 : libncurses.so.5 [root@clq ~]# dnf -y install ncurses-compat-libs (兼容库)
7.配置/etc/my.cnf文件
[root@192 ~]# cat /etc/my.cnf [mysqld_multi] mysqld = /usr/local/mysql/bin/mysqld_safe #安全目录 mysqladmin = /usr/local/mysql/bin/mysqladmin #管理员登录目录 [mysqld3306] datadir = /opt/data/3306 port = 3306 socket = /tmp/mysql3306.sock pid-file = /opt/data/3306/mysql3306.pid log-error = /var/log/3306.log [mysqld3307] #必须是mysqld3307 不是mysql3307 datadir = /opt/data/3307 port = 3307 socket = /tmp/mysql3307.sock pid-file = /opt/data/3307/mysql3307.pid log-error = /var/log/3307.log [mysqld3308] datadir = /opt/data/3308 port = 3308 socket = /tmp/mysql3308.sock pid-file = /opt/data/3308/mysql3308.pid log-error = /var/log/3308.log
8.运行数据库
*前提必须指定套接字或者本地ip127.0.0.1进行连接
方法一:[root@clq ~]# mysql -uroot -p't%rIkwKeI5Rl' -P3306 -S /tmp/mysql3306.sock 方法二:[root@clq ~]# mysql -uroot -p't%rIkwKeI5Rl' -P3306 -h127.0.0.1
//分别进入mysql,依次更改密码即可
9.一键启动和开机自启
#mysqld_multi服务脚本复制到/etc/init.d/下 [root@mysql ~]# cp /usr/local/mysql/support-files/mysqld_multi.server /etc/init.d/mysqld_multi #修改脚本,系统脚本启动的时候会在新的终端重新加载加这一条会在bindir下找到mysqld_multi basedir=/usr/local/mysql bindir=/usr/local/mysql/bin export PATH=$bindir:$PATH systemctl daemon-reload 系统重新加载服务 开启: [root@mysql ~]# service mysqld_multi start 3306 [root@mysql ~]# service mysqld_multi start 3307 [root@mysql ~]# service mysqld_multi start 3308 自启动: [root@mysql ~]# chkconfig mysqld_multi on [root@mysql ~]#reboot [root@mysql ~]# ss -antl State Recv-Q Send-Q Local Address:Port Peer Address:Port Process LISTEN 0 80 *:3306 *:* LISTEN 0 80 *:3307 *:* LISTEN 0 80 *:3308 *:*
#关闭单个mysql,用kill方式杀掉进程即可
评论(0)