mysql多实例
二进制安装mysql
#下载mysql的tar包
wget https://downloads.mysql.com/archives/get/file/mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
[root@dabao ~]# ls
mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
#创建用户和组
[root@dabao ~]# useradd -M -s /sbin/nologin mysql
#解压软件
[root@dabao ~]# tar xf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
[root@dabao local]# cd mysql-5.7.37-linux-glibc2.12-x86_64/
[root@dabao mysql-5.7.37-linux-glibc2.12-x86_64]# ls
bin docs include lib LICENSE man README share support-files
#配置基础设置
配置软链接
[root@dabao local]# ln -s mysql-5.7.37-linux-glibc2.12-x86_64/ mysql
[root@dabao ~]# chown -R mysql.mysql /usr/local/mysql
[root@dabao local]# ll
drwxr-xr-x. 14 root root 164 Jun 16 02:53 apache
drwxr-xr-x. 6 root root 58 Jun 16 02:48 apr
drwxr-xr-x. 5 root root 43 Jun 16 02:48 apr-util
drwxr-xr-x. 2 root root 6 Jun 21 2021 bin
drwxr-xr-x. 2 root root 6 Jun 21 2021 etc
drwxr-xr-x. 2 root root 6 Jun 21 2021 games
drwxr-xr-x. 2 root root 6 Jun 21 2021 include
drwxr-xr-x. 2 root root 6 Jun 21 2021 lib
drwxr-xr-x. 3 root root 17 Mar 31 18:23 lib64
drwxr-xr-x. 2 root root 6 Jun 21 2021 libexec
lrwxrwxrwx. 1 mysql mysql 36 Jun 28 22:19 mysql -> mysql-5.7.37-linux-glibc2.12-x86_64/
drwxr-xr-x. 9 root root 129 Jun 28 22:17 mysql-5.7.37-linux-glibc2.12-x86_64
drwxr-xr-x. 2 root root 6 Jun 21 2021 sbin
drwxr-xr-x. 5 root root 49 Mar 31 18:23 share
drwxr-xr-x. 2 root root 6 Jun 21 2021 src
设置环境变量
[root@dabao mysql]# ls
bin docs include lib LICENSE man README share support-files
[root@dabao mysql]# echo 'export PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
[root@dabao ~]# . /etc/profile.d/mysql.sh
[root@dabao ~]# echo $PATH
/usr/local/mysql/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
设置头文件
[root@dabao ~]# vi /etc/ld.so.conf.d/mysql.conf
[root@dabao ~]# cat /etc/ld.so.conf.d/mysql.conf
/usr/local/mysql/lib
[root@dabao ~]# ldconfig
man文档
vi /etc/man_db.conf
加入这一行命令
MANDATORY_MANPATH /usr/local/mysql/man
建立数据存放目录
[root@dabao~]# mkdir -p /opt/data/{3306,3307}
[root@dabao~]# chown -R mysql.mysql /opt/data/
初始化数据
[root@dabao ~]# mysqld --initialize --datadir=/opt/data/3306 --user=mysql
root@localhost: dLiX7qk-OdLa
[root@dabao ~]# mysqld --initialize --datadir=/opt/data/3307 --user=mysql
root@localhost: Bh/!4qHm-5#K
安装perl
[root@dabao ~]# yum -y install perl
生成配置文件
[root@localhost ~]# vim /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/mysql_3306.pid
log-error=/var/log/3306.log
[mysqld3307]
datadir = /opt/data/3307
port = 3307
socket = /tmp/mysql3307.sock
pid-file = /opt/data/3307/mysql_3307.pid
log-error=/var/log/3307.log
关闭selinux
[root@dabao ~]# vi /etc/selinux/config
[root@dabao ~]# cat /etc/selinux/config
...
SELINUX=disabled
...
启动实例
[root@dabao ~]# vi /etc/my.cnf
[root@dabao ~]# mysqld_multi start 3306
[root@dabao ~]# mysqld_multi start 3307
[root@dabao ~]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 80 *:3306 *:*
LISTEN 0 80 *:3307 *:*
初始化密码
mysql -uroot -p'dLiX7qk-OdLa' -S /tmp/mysql3306.sock -e 'set password = password("wangqing123!");' --connect-expired-password
mysql -uroot -p'Bh/!4qHm-5#K' -S /tmp/mysql3307.sock -e 'set password = password("wangqing123!");' --connect-expired-password