Red Hat Enterprise Linux 8 Install MySQL

Generic Binary Install MySQL

1、如果未在本地安装依赖库,则数据目录初始化以及后续的服务器启动步骤将会失败。安装libaio库的代码如下

yum install libaio -y

2、添加mysql组和mysql用户。所有的文件和目录应该在mysql用户下

groupadd mysql

useradd -r -g mysql -s /bin/false mysql

3、解压二进制文件

cd /opt

wget "https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz"

tar Jxvf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz -C /usr/local/

4、制作软连接

ln -s /usr/loacl/mysql-8.0.20-linux-glibc2.12-x86_64 mysql

du -h --max-depth=1 

此命令可以看到如下信息
2.0G    ./mysql-8.0.20-linux-glibc2.12-x86_64    #加压后的大小是2个G

5、MySQL各个目录的功能

[root@nodedb local]# ll mysql/

total 452

drwxr-xr-x.  2 root root    4096 Jan 15 15:46 bin       #存放MySQL可执行的脚本

drwxr-xr-x.  2 root root      82 Jan 15 15:46 docs      #存放文档信息

drwxr-xr-x.  3 root root    4096 Jan 15 15:44 include      #由于MySQL是C和C++编写的,因次我们会在该目录下看到一些以"*.h”的头文件信息

drwxr-xr-x.  6 root root    4096 Jan 15 15:46 lib       #存放依赖包

-rw-r--r--.  1 7161 31415 335809 Oct  7 01:44 LICENSE

-rw-r--r--.  1 7161 31415 101807 Oct  7 01:44 LICENSE.router

drwxr-xr-x.  4 root root      28 Jan 15 15:44 man      #存放man帮助的信息

-rw-r--r--.  1 7161 31415    687 Oct  7 01:44 README

-rw-r--r--.  1 7161 31415    700 Oct  7 01:44 README.router

drwxr-xr-x. 28 root root    4096 Jan 15 15:46 share   #存放支持的字符集信息以及一些错误信息

drwxr-xr-x.  2 root root      86 Jan 15 15:46 support-files  #存放MySQL服务的管理脚本,比如我们想要将MySQL变成一个Linux开机自启动服务时,就得使用该目录下的mysql.service脚本!

6、创建必要的目录并将所有权更改为mysql

cd mysql

mkdir mysql-files

chmod 750 mysql-files

chown -R mysql .

chgrp -R mysql .

7、初始化mysql会生成一个临时密码

bin/mysqld --initialize --user=mysql

8、设置SSL的RSA

bin/mysql_ssl_rsa_setup

9、将二进制文件的所有权更改为root,数据文件的所有权更改为mysql:

chown -R root .

chown -R mysql data/ mysql-files/

10、将启动脚本复制到init.d中

[root@nodedb ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql   #将MySQL加入到服务自启动

[root@nodedb ~]# 

[root@nodedb ~]# rm -rf /etc/my.cnf      #删除它表示以mysql所有的默认参数去启动

[root@nodedb ~]# 

[root@nodedb ~]# /etc/init.d/mysql start   #启动mysql服务

Starting MySQL.Logging to '/usr/local/mysql/data/nodedb.unity.org.cn.err'.

. SUCCESS! 

[root@nodedb ~]# 

[root@nodedb ~]# ps -ef | grep mysql   #查看mysql的启动进程

root      41287      1  0 16:25 pts/0    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/nodedb.unity.org.cn.pid

mysql     41372  41287  4 16:25 pts/0    00:00:01 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=nodedb.unity.org.cn.err --pid-file=/usr/local/mysql/data/nodedb.unity.org.cn.pid

root      41426   2759  0 16:25 pts/0    00:00:00 grep --color=auto mysql

[root@nodedb ~]# 

[root@nodedb ~]#netstat -untalp | grep 3306       #查看mysql启动的端口,默认是3306

tcp6       0      0 :::3306                 :::*                    LISTEN      41372/mysqld          

tcp6       0      0 :::33060                :::*                    LISTEN      41372/mysqld          #这个33060是MySQL的守护进程

11、将mysql的二进制文件导出到PATH环境变量中

export PATH=$PATH:/usr/local/mysql/bin

Note:

error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
遇到上述错误时,使用以下方式修改即可
ln -s /usr/lib64/libncurses.so.6.1 /usr/lib64/libtinfo.so.5
原文地址:https://www.cnblogs.com/PrimerPlus/p/12955869.html