mysql进阶
1. 二进制格式mysql安装
1.下载二进制格式的mysql软件包
进入MySQL官方网站https://downloads.mysql.com/archives/community/
安装包的链接
https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz
[root@192 ~]# cd /usr/src/
[root@192 src]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz
--2022-07-27 15:47:12-- 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)... 223.119.203.77, 2402:4f00:4002:182::2e31, 2402:4f00:4002:194::2e31
Connecting to downloads.mysql.com (downloads.mysql.com)|223.119.203.77|: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-27 15:47:13-- 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.194.211.12
Connecting to cdn.mysql.com (cdn.mysql.com)|23.194.211.12|: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- 100%[================>] 643.57M 7.31MB/s in 87s
2022-07-27 15:48:42 (7.39 MB/s) - ‘mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz’ saved [674830866/674830866]
[root@192 src]#
2.创建用户和组
[root@192 src]# groupadd -r mysql
[root@192 src]# useradd -M -s /sbin/nologin -g mysql mysql
[root@192 src]# id mysql
uid=1001(mysql) gid=984(mysql) groups=984(mysql)
[root@192 src]#
//第二种方法也可以
[root@192 src]# useradd -M -r -s /sbin/nologin mysql mysql
[root@192 src]# id mysql
uid=1001(mysql) gid=984(mysql) groups=984(mysql)
[root@192 src]#
3.解压软件至/usr/local/
[root@192 src]# ls
debug kernels mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz
[root@192 src]# tar xf mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz -C /usr/local
[root@192 src]# cd
[root@192 ~]# ls /usr/local/
bin games lib libexec sbin src
etc include lib64 mysql-5.7.38-linux-glibc2.12-x86_64 share
[root@192 ~]#
[root@192 ~]# cd /usr/local/
[root@192 local]# ln -sv mysql-5.7.38-linux-glibc2.12-x86_64 mysql
'mysql' -> 'mysql-5.7.38-linux-glibc2.12-x86_64'
[root@192 local]# ll
total 0
drwxr-xr-x. 2 root root 6 Jun 22 2021 bin
drwxr-xr-x. 2 root root 6 Jun 22 2021 etc
drwxr-xr-x. 2 root root 6 Jun 22 2021 games
drwxr-xr-x. 2 root root 6 Jun 22 2021 include
drwxr-xr-x. 2 root root 6 Jun 22 2021 lib
drwxr-xr-x. 3 root root 17 Jul 12 20:30 lib64
drwxr-xr-x. 2 root root 6 Jun 22 2021 libexec
lrwxrwxrwx. 1 root root 35 Jul 27 16:00 mysql -> mysql-5.7.38-linux-glibc2.12-x86_64
drwxr-xr-x. 9 root root 129 Jul 27 15:58 mysql-5.7.38-linux-glibc2.12-x86_64
drwxr-xr-x. 2 root root 6 Jun 22 2021 sbin
drwxr-xr-x. 5 root root 49 Jul 12 20:30 share
drwxr-xr-x. 2 root root 6 Jun 22 2021 src
[root@192 local]#
4.修改目录/usr/local/mysql的属主属组
[root@192 local]# chown -R mysql.mysql mysql*
[root@192 local]# ll
total 0
drwxr-xr-x. 2 root root 6 Jun 22 2021 bin
drwxr-xr-x. 2 root root 6 Jun 22 2021 etc
drwxr-xr-x. 2 root root 6 Jun 22 2021 games
drwxr-xr-x. 2 root root 6 Jun 22 2021 include
drwxr-xr-x. 2 root root 6 Jun 22 2021 lib
drwxr-xr-x. 3 root root 17 Jul 12 20:30 lib64
drwxr-xr-x. 2 root root 6 Jun 22 2021 libexec
lrwxrwxrwx. 1 mysql mysql 35 Jul 27 16:00 mysql -> mysql-5.7.38-linux-glibc2.12-x86_64
drwxr-xr-x. 9 mysql mysql 129 Jul 27 15:58 mysql-5.7.38-linux-glibc2.12-x86_64
drwxr-xr-x. 2 root root 6 Jun 22 2021 sbin
drwxr-xr-x. 5 root root 49 Jul 12 20:30 share
drwxr-xr-x. 2 root root 6 Jun 22 2021 src
[root@192 local]#
5.添加环境变量
[root@192 ~]# cd /usr/local/mysql
[root@192 mysql]# ls
bin docs include lib LICENSE man README share support-files
[root@192 mysql]# cd bin/
[root@192 bin]# pwd
/usr/local/mysql/bin
[root@192 bin]# echo 'export PATH=$PATH:/usr/local/mysql/bin' > /etc/profile.d/mysql.sh
[root@192 bin]# source /etc/profile.d/mysql.sh
[root@192 bin]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin
[root@192 bin]#
6.环境配置好之后还得弄一个头文件
[root@192 mysql]# ln -sv /usr/local/mysql/include/ /usr/include/mysql
'/usr/include/mysql' -> '/usr/local/mysql/include/'
[root@192 mysql]# vim /etc/ld.so.conf.d/mysql.conf
[root@192 mysql]# ldconfig
[root@192 mysql]# vim /etc/man_db.conf
/usr/local/mysql/lib/
~
~
~
//添加一个MANDATORY_MANPATH /usr/local/mysql/man
# every automatically generated MANPATH includes these fields
#
#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
7.建立数据存放目录
[root@192 ~]# mkdir /opt/data
[root@192 ~]# chown -R mysql.mysql /opt/data/
[root@192 ~]# ll /opt/
total 0
drwxr-xr-x. 2 mysql mysql 6 Jul 27 16:16 data
[root@192 ~]#
8.初始化数据库
[root@192 ~]# mysqld --initialize --user mysql --datadir /opt/data/
2022-07-27T08:18:39.457424Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2022-07-27T08:18:39.614652Z 0 [Warning] InnoDB: New log files created, LSN=45790
2022-07-27T08:18:39.648233Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2022-07-27T08:18:39.660564Z 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: b8432468-0d84-11ed-97a4-000c29c18f69.
2022-07