search
HomeDatabaseMysql TutorialHow to deploy mysql multiple instances

mysql多实例部署

软件下载

[root@lnh ~]# rpm -qa |grep mysql
[root@lnh ~]# 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                [::]:*                
//验证一下是否有mysql
[root@lnh ~]# cd /usr/src/
[root@lnh src]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz
--2022-07-31 14:25:22--  https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz
Resolving downloads.mysql.com (downloads.mysql.com)... 23.10.6.175, 2600:1405:1800:19c::2e31, 2600:1405:1800:184::2e31
Connecting to downloads.mysql.com (downloads.mysql.com)|23.10.6.175|:443... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz [following]
--2022-07-31 14:25:23--  https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz
Resolving cdn.mysql.com (cdn.mysql.com)... 23.212.157.5
Connecting to cdn.mysql.com (cdn.mysql.com)|23.212.157.5|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 674830866 (644M) [application/x-tar-gz]
Saving to: ‘mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz'

mysql-5.7.38-linux-g 100%[=====================>] 643.57M  1.88MB/s    in 8m 54s  

2022-07-31 14:34:17 (1.21 MB/s) - ‘mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz' saved [674830866/674830866]
//在www.mysql.com里面进行复制下载地址
[root@lnh src]# ls
debug  kernels  mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz

配置用户并解压二进制程序至/usr/local下

[root@lnh src]# useradd -r -M -s /sbin/nologin mysql
[root@lnh src]# id mysql
uid=993(mysql) gid=990(mysql) groups=990(mysql)
[root@lnh src]# tar -xf mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
[root@lnh src]# cd /usr/local/
[root@lnh local]# ll    //查看解压的东西
total 0
drwxr-xr-x. 14 root root 164 Jul 21 21:32 apache
drwxr-xr-x.  6 root root  58 Jul 21 21:12 apr
drwxr-xr-x.  5 root root  43 Jul 21 21:17 apr-util
drwxr-xr-x.  2 root root   6 May 19  2020 bin
drwxr-xr-x.  2 root root   6 May 19  2020 etc
drwxr-xr-x.  2 root root   6 May 19  2020 games
drwxr-xr-x.  2 root root   6 May 19  2020 include
drwxr-xr-x.  2 root root   6 May 19  2020 lib
drwxr-xr-x.  3 root root  17 Jul 19 16:13 lib64
drwxr-xr-x.  2 root root   6 May 19  2020 libexec
drwxr-xr-x.  9 root root 129 Jul 31 14:56 mysql-5.7.38-linux-glibc2.12-x86_64
drwxr-xr-x.  2 root root   6 May 19  2020 sbin
drwxr-xr-x.  5 root root  49 Jul 19 16:13 share
drwxr-xr-x.  5 root root 145 Jul 21 21:19 src
[root@lnh local]# ln -sv mysql-5.7.38-linux-glibc2.12-x86_64 mysql     //做一个软链接              //-v是将结果打印出来   
'mysql' -> 'mysql-5.7.38-linux-glibc2.12-x86_64'
[root@lnh local]# ll   //查看
total 0
drwxr-xr-x. 14 root root 164 Jul 21 21:32 apache
drwxr-xr-x.  6 root root  58 Jul 21 21:12 apr
drwxr-xr-x.  5 root root  43 Jul 21 21:17 apr-util
drwxr-xr-x.  2 root root   6 May 19  2020 bin
drwxr-xr-x.  2 root root   6 May 19  2020 etc
drwxr-xr-x.  2 root root   6 May 19  2020 games
drwxr-xr-x.  2 root root   6 May 19  2020 include
drwxr-xr-x.  2 root root   6 May 19  2020 lib
drwxr-xr-x.  3 root root  17 Jul 19 16:13 lib64
drwxr-xr-x.  2 root root   6 May 19  2020 libexec
lrwxrwxrwx.  1 root root  35 Jul 31 14:58 mysql -> mysql-5.7.38-linux-glibc2.12-x86_64
drwxr-xr-x.  9 root root 129 Jul 31 14:56 mysql-5.7.38-linux-glibc2.12-x86_64
drwxr-xr-x.  2 root root   6 May 19  2020 sbin
drwxr-xr-x.  5 root root  49 Jul 19 16:13 share
drwxr-xr-x.  5 root root 145 Jul 21 21:19 src
[root@lnh local]# chown -R mysql.mysql mysql*  //将软链接的属主属组改成mysql的
[root@lnh local]# ll
total 0
drwxr-xr-x. 14 root  root  164 Jul 21 21:32 apache
drwxr-xr-x.  6 root  root   58 Jul 21 21:12 apr
drwxr-xr-x.  5 root  root   43 Jul 21 21:17 apr-util
drwxr-xr-x.  2 root  root    6 May 19  2020 bin
drwxr-xr-x.  2 root  root    6 May 19  2020 etc
drwxr-xr-x.  2 root  root    6 May 19  2020 games
drwxr-xr-x.  2 root  root    6 May 19  2020 include
drwxr-xr-x.  2 root  root    6 May 19  2020 lib
drwxr-xr-x.  3 root  root   17 Jul 19 16:13 lib64
drwxr-xr-x.  2 root  root    6 May 19  2020 libexec
lrwxrwxrwx.  1 mysql mysql  35 Jul 31 14:58 mysql -> mysql-5.7.38-linux-glibc2.12-x86_64
drwxr-xr-x.  9 mysql mysql 129 Jul 31 14:56 mysql-5.7.38-linux-glibc2.12-x86_64
drwxr-xr-x.  2 root  root    6 May 19  2020 sbin
drwxr-xr-x.  5 root  root   49 Jul 19 16:13 share
drwxr-xr-x.  5 root  root  145 Jul 21 21:19 src
[root@lnh local]# ls  //编译三部曲已经完成
apache    bin    include  libexec                              sbin
apr       etc    lib      mysql                                share
apr-util  games  lib64    mysql-5.7.38-linux-glibc2.12-x86_64  src
[root@lnh local]# cd mysql
[root@lnh mysql]# ls
bin  docs  include  lib  LICENSE  man  README  share  support-files
[root@lnh mysql]# echo 'export PATH=$PATH:/usr/local/mysql/bin' > /etc/profile.d/mysql.sh   
//配置环境变量
[root@lnh mysql]# source /etc/profile.d/mysql.sh 
//使环境生效
[root@lnh mysql]# ln -sv /usr/local/mysql/include/ /usr/include/mysql
'/usr/include/mysql' -> '/usr/local/mysql/include/'
//做include的头文件让系统可以识别
[root@lnh mysql]# chown -R mysql.mysql /usr/include/mysql
//将软链接的属主属组改成mysql的
[root@lnh mysql]# ll -d /usr/include/mysql/
drwxr-xr-x. 3 mysql mysql 4096 Jul 31 14:56 /usr/include/mysql/
[root@lnh mysql]# vim /etc/ld.so.conf.d/mysql.conf
[root@lnh mysql]# cat /etc/ld.so.conf.d/mysql.conf
/usr/local/mysql/lib
//配置lib
[root@lnh mysql]# ldconfig 
//刷新配置
[root@lnh mysql]# vim /etc/man_db.conf 
#MANDATORY_MANPATH                      /usr/src/pvm3/man
#
MANDATORY_MANPATH                       /usr/man
MANDATORY_MANPATH                       /usr/share/man
MANDATORY_MANPATH                       /usr/local/share/man
MANDATORY_MANPATH                       /usr/local/mysql/man//添加这一行

创建各实例数据存放的目录

[root@lnh ~]# mkdir -p /opt/data/{3306,3307,3308}  //创建存放目录
[root@lnh ~]# chown -R mysql.mysql /opt/data/  
[root@lnh ~]# ll -d /opt/data/
drwxr-xr-x. 5 mysql mysql 42 Jul 31 15:24 /opt/data/
//修改其所属主所属组
[root@lnh ~]# tree /opt/data/
/opt/data/
├── 3306
├── 3307
└── 3308

3 directories, 0 files
//查看其结构

初始化各实例

[root@lnh ~]# mysqld --initialize --user mysql --datadir /opt/data/3306 //初始化实例   --user指定用户 --datadir指定数据目录
2022-07-31T07:29:37.154689Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2022-07-31T07:29:37.346729Z 0 [Warning] InnoDB: New log files created, LSN=45790
2022-07-31T07:29:37.389866Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2022-07-31T07:29:37.450981Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 88389665-10a2-11ed-9840-000c2905f428.
2022-07-31T07:29:37.452192Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2022-07-31T07:29:37.758320Z 0 [Warning] A deprecated TLS version TLSv1 is enabled. Please use TLSv1.2 or higher.
2022-07-31T07:29:37.758378Z 0 [Warning] A deprecated TLS version TLSv1.1 is enabled. Please use TLSv1.2 or higher.
2022-07-31T07:29:37.759177Z 0 [Warning] CA certificate ca.pem is self signed.
2022-07-31T07:29:37.780720Z 1 [Note] A temporary password is generated for root@localhost: AqldE*a:O8FR
[root@lnh ~]# echo 'AqldE*a:O8FR' > 3306
[root@lnh ~]# cat 3306 
AqldE*a:O8FR
//将这个格式化的随机密码生成到一个文件里面
[root@lnh ~]# mysqld --initialize --user mysql --datadir /opt/data/3307   //格式化3307
2022-07-31T07:33:29.214978Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2022-07-31T07:33:29.491805Z 0 [Warning] InnoDB: New log files created, LSN=45790
2022-07-31T07:33:29.524728Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2022-07-31T07:33:29.598226Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 12977170-10a3-11ed-9d3d-000c2905f428.
2022-07-31T07:33:29.599323Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2022-07-31T07:33:29.932320Z 0 [Warning] A deprecated TLS version TLSv1 is enabled. Please use TLSv1.2 or higher.
2022-07-31T07:33:29.932367Z 0 [Warning] A deprecated TLS version TLSv1.1 is enabled. Please use TLSv1.2 or higher.
2022-07-31T07:33:29.932766Z 0 [Warning] CA certificate ca.pem is self signed.
2022-07-31T07:33:30.095306Z 1 [Note] A temporary password is generated for root@localhost: PAJBo+Gxg19I
[root@lnh ~]# echo ' PAJBo+Gxg19I' > 3307
[root@lnh ~]# cat 3307 
 PAJBo+Gxg19I
[root@lnh ~]# mysqld --initialize --user mysql --datadir /opt/data/3308   //格式化3308
2022-07-31T07:34:23.861697Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2022-07-31T07:34:24.082852Z 0 [Warning] InnoDB: New log files created, LSN=45790
2022-07-31T07:34:24.112764Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2022-07-31T07:34:24.173299Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 331ef070-10a3-11ed-a122-000c2905f428.
2022-07-31T07:34:24.175009Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2022-07-31T07:34:24.374707Z 0 [Warning] A deprecated TLS version TLSv1 is enabled. Please use TLSv1.2 or higher.
2022-07-31T07:34:24.374737Z 0 [Warning] A deprecated TLS version TLSv1.1 is enabled. Please use TLSv1.2 or higher.
2022-07-31T07:34:24.375103Z 0 [Warning] CA certificate ca.pem is self signed.
2022-07-31T07:34:24.471521Z 1 [Note] A temporary password is generated for root@localhost: =w&lnU)d-7kK
[root@lnh ~]# echo ' =w&lnU)d-7kK' > 3308
[root@lnh ~]# cat 3308
 =w&lnU)d-7kK
[root@lnh ~]# ls
3306  3307  3308  anaconda-ks.cfg

安装perl

[root@lnh ~]# dnf -y install perl
Last metadata expiration check: 1:24:50 ago on Sun 31 Jul 2022 02:13:54 PM CST.
Dependencies resolved.
===================================================================================
 Package                      Arch   Version                       Repo       Size
===================================================================================
Installing:
 perl                         x86_64 4:5.26.3-420.el8              AppStream  73 k
Installing dependencies:
 perl-Algorithm-Diff          noarch 1.1903-9.el8                  base       52 k
 perl-Archive-Tar             noarch 2.30-1.el8                    base       79 k
 perl-Archive-Zip             noarch 1.60-3.el8                    AppStream 108 k
 perl-Attribute-Handlers      noarch 0.99-420.el8                  AppStream  89 k
 perl-B-Debug                 noarch 1.26-2.el8                    AppStream  26 k
 perl-CPAN                    noarch 2.18-397.el8                  AppStream 554 k
 perl-CPAN-Meta               noarch 2.150010-396.el8              AppStream 191 k
 perl-CPAN-Meta-Requirements  noarch 2.140-396.el8                 AppStream  37 k
 perl-CPAN-Meta-YAML          noarch 0.018-397.el8                 AppStream  34 k
 perl-Compress-Bzip2          x86_64 2.26-6.el8                    AppStream  72 k
 perl-Compress-Raw-Bzip2      x86_64 2.081-1.el8                   base       40 k
 perl-Compress-Raw-Zlib       x86_64 2.081-1.el8                   base       68 k
 perl-Config-Perl-V           noarch 0.30-1.el8                    AppStream  22 k
 perl-DB_File                 x86_64 1.842-1.el8                   AppStream  83 k
 perl-Data-OptList            noarch 0.110-6.el8                   AppStream  31 k
 perl-Data-Section            noarch 0.200007-3.el8                AppStream  30 k
 perl-Devel-PPPort            x86_64 3.36-5.el8                    AppStream 118 k
 perl-Devel-Peek              x86_64 1.26-420.el8                  AppStream  94 k
 perl-Devel-SelfStubber       noarch 1.06-420.el8                  AppStream  76 k
 perl-Devel-Size              x86_64 0.81-2.el8                    AppStream  34 k
 perl-Digest-SHA              x86_64 1:6.02-1.el8                  AppStream  66 k
 perl-Encode-devel            x86_64 4:2.97-3.el8                  AppStream  39 k
 perl-Env                     noarch 1.04-395.el8                  AppStream  21 k
 perl-ExtUtils-CBuilder       noarch 1:0.280230-2.el8              AppStream  48 k
 perl-ExtUtils-Command        noarch 1:7.34-1.el8                  AppStream  19 k
 perl-ExtUtils-Embed          noarch 1.34-420.el8                  AppStream  79 k
....

配置配置文件/etc/my.cnf

[root@lnh ~]# vim /etc/my.cnf
[root@lnh ~]# 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/mysql_3306.pid   //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

[mysqld3308]
datadir = /opt/data/3308
port = 3308
socket = /tmp/mysql3308.sock
pid-file = /opt/data/3308/mysql_3308.pid
log-error=/var/log/3308.log

启动各实例

[root@lnh ~]# mysqld_multi start 3306
[root@lnh ~]# mysqld_multi start 3307
[root@lnh ~]# mysqld_multi start 3308
[root@lnh ~]# 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                 *:*                
LISTEN   0        80                     *:3308                 *:*            
//这种方式启动不建议
[root@lnh ~]# mysqld_multi stop 3308
[root@lnh ~]# 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                 *:*                
LISTEN   0        80                     *:3308                 *:*               
//可以发现这种方式启动程序后关闭不了
[root@lnh ~]# ps -ef |grep 3306
root       71742       1  0 15:49 pts/1    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/opt/data/3306 --port=3306 --socket=/tmp/mysql3306.sock --pid-file=/opt/data/3306/mysql_3306.pid --log-error=/var/log/3306.log
mysql      71878   71742  0 15:49 pts/1    00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/opt/data/3306 --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/var/log/3306.log --pid-file=/opt/data/3306/mysql_3306.pid --socket=/tmp/mysql3306.sock --port=3306
root       72257   66880  0 15:53 pts/1    00:00:00 grep --color=auto 3306
//查看3306进程
[root@lnh ~]# ps -ef |grep 3306 |grep -v grep
root       71742       1  0 15:49 pts/1    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/opt/data/3306 --port=3306 --socket=/tmp/mysql3306.sock --pid-file=/opt/data/3306/mysql_3306.pid --log-error=/var/log/3306.log
mysql      71878   71742  0 15:49 pts/1    00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/opt/data/3306 --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/var/log/3306.log --pid-file=/opt/data/3306/mysql_3306.pid --socket=/tmp/mysql3306.sock --port=3306
//取反
[root@lnh ~]# ps -ef |grep 3306 |grep -v grep |awk '{print$2}'
71742
71878
//取出端口号
[root@lnh ~]# ps -ef |grep 3306 |grep -v grep |awk '{print$2}'|xargs kill -9   
//xargs将前面的结果交给后面的来处理
//杀死了端口号,相当于这个命令可以控制服务停止
[root@lnh ~]# ps -ef |grep 3307 |grep -v grep |awk '{print$2}'|xargs kill -9
[root@lnh ~]# ps -ef |grep 3308 |grep -v grep |awk '{print$2}'|xargs kill -9
[root@lnh ~]# 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                [::]:*                
//端口号都被杀死

加入system服务里面

[root@lnh system]# cd
[root@lnh ~]# cd /usr/lib/systemd/system
[root@lnh system]# cp sshd.service 3306.service
[root@lnh system]# cp sshd.service 3307.service
[root@lnh system]# cp sshd.service 3308.service
[root@lnh system]# vim 3306.service 
[Unit]
Description=3306 server daemon
After=network.target sshd-keygen.target

[Service]
Type=forking
ExecStart=/usr/local/mysql/bin/mysqld_multi start 3306 //开启的位置
ExecStop=ps -ef |grep 3306 |grep -v grep |awk '{print$2}'|xargs kill -9   //关闭的命令
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target
[root@lnh system]# cp 3306.service 3307.service 
cp: overwrite '3307.service'? y
[root@lnh system]# vim 3307.service 
[Unit]
Description=3307 server daemon
After=network.target sshd-keygen.target

[Service]
Type=forking
ExecStart=/usr/local/mysql/bin/mysqld_multi start 3307
ExecStop=ps -ef |grep 3307 |grep -v grep |awk '{print$2}'|xargs kill -9
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target
//快捷键 :% s/6/7/g 直接将6变成7
[root@lnh system]# cp 3306.service 3308.service 
cp: overwrite '3308.service'? y
[root@lnh system]# vim 3308.service 
[Unit]
Description=3308 server daemon
After=network.target sshd-keygen.target

[Service]
Type=forking
ExecStart=/usr/local/mysql/bin/mysqld_multi start 3308
ExecStop=ps -ef |grep 3308 |grep -v grep |awk '{print$2}'|xargs kill -9
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target
//快捷键 :% s/6/8/g 直接将6变成8
[root@lnh system]# systemctl daemon-reload 
//加载一下
[root@lnh system]# systemctl stop firewalld
[root@lnh system]# systemctl disable firewalld.service 
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@lnh system]# vim /etc/selinux/config 
SELINUX=disabled   //修改
[root@lnh system]# setenforce 0
//关闭防火墙
[root@lnh system]# systemctl start 3306
[root@lnh system]# systemctl start 3307
[root@lnh system]# systemctl start 3308
[root@lnh system]# 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                 *:*                
LISTEN   0        80                     *:3308                 *:*                
//可以发现全部启动成功
//如果启动失败就在这个里面journalctl -xe找出错误点

初始化密码

[root@lnh ~]# cat 3306
AqldE*a:O8FR   //查看之前放置的密码
[root@lnh ~]# mysql -uroot -p'AqldE*a:O8FR' -S  /tmp/mysql3306.sock 
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.38

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> set password=password('3306');   //修改密码
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> quit
Bye
[root@lnh ~]# mysql -uroot -p'3306' -S  /tmp/mysql3306.sock
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.38 MySQL Community Server (GPL)

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
//登录成功
[root@lnh ~]# cat 3307
 PAJBo+Gxg19I
[root@lnh ~]# mysql -uroot -p'PAJBo+Gxg19I' -S  /tmp/mysql3307.sock
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.38

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> set password=password('3307');   //修改密码
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> quit
Bye
[root@lnh ~]# mysql -uroot -p'3307' -S  /tmp/mysql3307.sock
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.38 MySQL Community Server (GPL)

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
//登录成功
[root@lnh ~]# cat 3308
 =w&lnU)d-7kK
[root@lnh ~]# mysql -uroot -p'=w&lnU)d-7kK' -S  /tmp/mysql3308.sock
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.38

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> set password=password('3308');   //修改密码
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> quit
Bye
[root@lnh ~]# mysql -uroot -p'3308' -S  /tmp/mysql3308.sock
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.38 MySQL Community Server (GPL)

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
//登录成功

报错解决

报错1:
[root@lnh ~]# mysql -uroot -p'AqldE*a:O8FR'
mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
//没有这个包
解决:
[root@lnh ~]# dnf provides libncurses.so.5
Last metadata expiration check: 2:39:05 ago on Sun 31 Jul 2022 02:13:54 PM CST.
ncurses-compat-libs-6.1-9.20180224.el8.i686 : Ncurses compatibility libraries
Repo        : base
Matched from:
Provide    : libncurses.so.5

[root@lnh ~]# dnf -y install ncurses-compat-libs-6.1-9.20180224.el8.
报错2:
[root@lnh ~]# mysql -uroot -p'AqldE*a:O8FR'
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)   //没有访问到套接字
解决:[root@lnh ~]# mysql -uroot -p'AqldE*a:O8FR' -S  /tmp/mysql3306.sock 

The above is the detailed content of How to deploy mysql multiple instances. For more information, please follow other related articles on the PHP Chinese website!

Statement
This article is reproduced at:亿速云. If there is any infringement, please contact admin@php.cn delete
MySQL: BLOB and other no-sql storage, what are the differences?MySQL: BLOB and other no-sql storage, what are the differences?May 13, 2025 am 12:14 AM

MySQL'sBLOBissuitableforstoringbinarydatawithinarelationaldatabase,whileNoSQLoptionslikeMongoDB,Redis,andCassandraofferflexible,scalablesolutionsforunstructureddata.BLOBissimplerbutcanslowdownperformancewithlargedata;NoSQLprovidesbetterscalabilityand

MySQL Add User: Syntax, Options, and Security Best PracticesMySQL Add User: Syntax, Options, and Security Best PracticesMay 13, 2025 am 12:12 AM

ToaddauserinMySQL,use:CREATEUSER'username'@'host'IDENTIFIEDBY'password';Here'showtodoitsecurely:1)Choosethehostcarefullytocontrolaccess.2)SetresourcelimitswithoptionslikeMAX_QUERIES_PER_HOUR.3)Usestrong,uniquepasswords.4)EnforceSSL/TLSconnectionswith

MySQL: How to avoid String Data Types common mistakes?MySQL: How to avoid String Data Types common mistakes?May 13, 2025 am 12:09 AM

ToavoidcommonmistakeswithstringdatatypesinMySQL,understandstringtypenuances,choosetherighttype,andmanageencodingandcollationsettingseffectively.1)UseCHARforfixed-lengthstrings,VARCHARforvariable-length,andTEXT/BLOBforlargerdata.2)Setcorrectcharacters

MySQL: String Data Types and ENUMs?MySQL: String Data Types and ENUMs?May 13, 2025 am 12:05 AM

MySQloffersechar, Varchar, text, Anddenumforstringdata.usecharforfixed-Lengthstrings, VarcharerForvariable-Length, text forlarger text, AndenumforenforcingdataAntegritywithaetofvalues.

MySQL BLOB: how to optimize BLOBs requestsMySQL BLOB: how to optimize BLOBs requestsMay 13, 2025 am 12:03 AM

Optimizing MySQLBLOB requests can be done through the following strategies: 1. Reduce the frequency of BLOB query, use independent requests or delay loading; 2. Select the appropriate BLOB type (such as TINYBLOB); 3. Separate the BLOB data into separate tables; 4. Compress the BLOB data at the application layer; 5. Index the BLOB metadata. These methods can effectively improve performance by combining monitoring, caching and data sharding in actual applications.

Adding Users to MySQL: The Complete TutorialAdding Users to MySQL: The Complete TutorialMay 12, 2025 am 12:14 AM

Mastering the method of adding MySQL users is crucial for database administrators and developers because it ensures the security and access control of the database. 1) Create a new user using the CREATEUSER command, 2) Assign permissions through the GRANT command, 3) Use FLUSHPRIVILEGES to ensure permissions take effect, 4) Regularly audit and clean user accounts to maintain performance and security.

Mastering MySQL String Data Types: VARCHAR vs. TEXT vs. CHARMastering MySQL String Data Types: VARCHAR vs. TEXT vs. CHARMay 12, 2025 am 12:12 AM

ChooseCHARforfixed-lengthdata,VARCHARforvariable-lengthdata,andTEXTforlargetextfields.1)CHARisefficientforconsistent-lengthdatalikecodes.2)VARCHARsuitsvariable-lengthdatalikenames,balancingflexibilityandperformance.3)TEXTisidealforlargetextslikeartic

MySQL: String Data Types and Indexing: Best PracticesMySQL: String Data Types and Indexing: Best PracticesMay 12, 2025 am 12:11 AM

Best practices for handling string data types and indexes in MySQL include: 1) Selecting the appropriate string type, such as CHAR for fixed length, VARCHAR for variable length, and TEXT for large text; 2) Be cautious in indexing, avoid over-indexing, and create indexes for common queries; 3) Use prefix indexes and full-text indexes to optimize long string searches; 4) Regularly monitor and optimize indexes to keep indexes small and efficient. Through these methods, we can balance read and write performance and improve database efficiency.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),