mysql 다중 인스턴스를 배포하는 방법
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
위 내용은 mysql 다중 인스턴스를 배포하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











빅 데이터 구조 처리 기술: 청킹(Chunking): 데이터 세트를 분할하고 청크로 처리하여 메모리 소비를 줄입니다. 생성기: 전체 데이터 세트를 로드하지 않고 데이터 항목을 하나씩 생성하므로 무제한 데이터 세트에 적합합니다. 스트리밍: 파일을 읽거나 결과를 한 줄씩 쿼리하므로 대용량 파일이나 원격 데이터에 적합합니다. 외부 저장소: 매우 큰 데이터 세트의 경우 데이터를 데이터베이스 또는 NoSQL에 저장합니다.

선형 복잡성에서 로그 복잡성까지 조회 시간을 줄이는 인덱스를 구축하여 MySQL 쿼리 성능을 최적화할 수 있습니다. SQL 삽입을 방지하고 쿼리 성능을 향상하려면 PREPAREDStatements를 사용하세요. 쿼리 결과를 제한하고 서버에서 처리되는 데이터의 양을 줄입니다. 적절한 조인 유형 사용, 인덱스 생성, 하위 쿼리 사용 고려 등 조인 쿼리를 최적화합니다. 쿼리를 분석하여 병목 현상을 식별하고, 캐싱을 사용하여 데이터베이스 로드를 줄이고, 오버헤드를 최소화합니다.

PHP에서 MySQL 데이터베이스를 백업하고 복원하는 작업은 다음 단계에 따라 수행할 수 있습니다. 데이터베이스 백업: mysqldump 명령을 사용하여 데이터베이스를 SQL 파일로 덤프합니다. 데이터베이스 복원: mysql 명령을 사용하여 SQL 파일에서 데이터베이스를 복원합니다.

MySQL 테이블에 데이터를 삽입하는 방법은 무엇입니까? 데이터베이스에 연결: mysqli를 사용하여 데이터베이스에 대한 연결을 설정합니다. SQL 쿼리 준비: 삽입할 열과 값을 지정하는 INSERT 문을 작성합니다. 쿼리 실행: query() 메서드를 사용하여 삽입 쿼리를 실행하면 확인 메시지가 출력됩니다.

MySQL 8.4(2024년 최신 LTS 릴리스)에 도입된 주요 변경 사항 중 하나는 "MySQL 기본 비밀번호" 플러그인이 더 이상 기본적으로 활성화되지 않는다는 것입니다. 또한 MySQL 9.0에서는 이 플러그인을 완전히 제거합니다. 이 변경 사항은 PHP 및 기타 앱에 영향을 미칩니다.

PHP에서 MySQL 저장 프로시저를 사용하려면: PDO 또는 MySQLi 확장을 사용하여 MySQL 데이터베이스에 연결합니다. 저장 프로시저를 호출하는 문을 준비합니다. 저장 프로시저를 실행합니다. 결과 집합을 처리합니다(저장 프로시저가 결과를 반환하는 경우). 데이터베이스 연결을 닫습니다.

PHP를 사용하여 MySQL 테이블을 생성하려면 다음 단계가 필요합니다. 데이터베이스에 연결합니다. 데이터베이스가 없으면 작성하십시오. 데이터베이스를 선택합니다. 테이블을 생성합니다. 쿼리를 실행합니다. 연결을 닫습니다.

Oracle 데이터베이스와 MySQL은 모두 관계형 모델을 기반으로 하는 데이터베이스이지만 호환성, 확장성, 데이터 유형 및 보안 측면에서 Oracle이 우수하고, MySQL은 속도와 유연성에 중점을 두고 중소 규모 데이터 세트에 더 적합합니다. ① Oracle은 광범위한 데이터 유형을 제공하고, ② 고급 보안 기능을 제공하고, ③ 엔터프라이즈급 애플리케이션에 적합하고, ① MySQL은 NoSQL 데이터 유형을 지원하고, ② 보안 조치가 적고, ③ 중소 규모 애플리케이션에 적합합니다.
