当前位置 : 主页 > 操作系统 > centos >

CentOS安装解压缩版mysql8(图解)

来源:互联网 收集:自由互联 发布时间:2022-06-20
说明: 1.采用本例方式可同一台服务器上安装多个MySql实例 2.本实例的MySql安装路径在/opt/mysql/mysql8_3306下,所有的命令操作均以此目录为前提 1.安装包准备 MySQL最新版本下载地址:https://

说明:  1.采用本例方式可同一台服务器上安装多个MySql实例  2.本实例的MySql安装路径在"/opt/mysql/mysql8_3306"下,所有的命令操作均以此目录为前提

1.安装包准备

MySQL最新版本下载地址:https://dev.mysql.com/downloads/mysql/历史版本下载:https://downloads.mysql.com/archives/community/

2.确认CentOS的glibc版本

[root@lwej opt]# rpm -qa | grep glibc

图片.png

3.下载MySql

3.1 选择对应的版本:

图片.png

3.2 下一步:

图片.png

4.环境检查

4.1 mysql和mariadb检查

4.1.1 检查是否已经安装mysql或者mariadb

[root@lwej ~]# rpm -qa | grep mysql [root@lwej ~]# rpm -qa | grep mariadb

图片.png

4.1.2 卸载已存在的mysql或mariadb

不存在则跳过此步

[root@lwej ~]# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64

图片.png

4.2 用户和用户组检查

4.2.1 检查mysql用户和用户组

# 检查是否有mysql用户组 [root@lwej ~]# grep mysql /etc/group # 检查是否有mysql用户 [root@lwej ~]# grep mysql /etc/passwd

图片.png

4.2.2 新增mysql用户

创建mysql用户会自动创建mysql用户组,如果已存在则跳过此步

# 新增mysql用户 [root@lwej ~]# useradd mysql # 再次检查是否有mysql用户 [root@lwej ~]# grep mysql /etc/passwd # 再次检查是否有mysql用户组 [root@lwej ~]# grep mysql /etc/group

图片.png

5.上传服务器并解压缩

5.1 上传到服务器"/opt"目录下

# 进入"/opt"目录下 [root@lwej ~]# cd /opt/ # 查看 [root@lwej opt]# ls

图片.png

5.2 解压缩mysql压缩包

"tar.xz"格式使用命令:"tar -xJvf 压缩文件名称""tar.gz"格式使用命令:"tar -xzvf 压缩文件名称"

[root@lwej opt]# tar -xJvf mysql-8.0.26-linux-glibc2.17-x86_64-minimal.tar.xz

图片.png

中间部分省略...

图片.png

查看解压完毕的目录信息

[root@lwej opt]# ls

图片.png

5.3 创建mysql的安装目录"mysql"

# 创建mysql目录 [root@lwej opt]# mkdir mysql # 查看 [root@lwej opt]# ls

图片.png

5.4 移动解压缩文件到mysql安装目录并修改名称

# 移动解压缩文件并重命名为"mysql8_3306" [root@lwej opt]# mv mysql-8.0.26-linux-glibc2.17-x86_64-minimal mysql/mysql8_3306 # 查看是否移动成功 [root@lwej opt]# ls mysql

图片.png

6.安装

6.1 创建mysql数据目录"data"

# 进入mysql的安装目录 [root@lwej opt]# cd mysql/mysql8_3306/ # 创建mysql数据目录"data" [root@lwej mysql8_3306]# mkdir data

图片.png

6.2 创建mysql的临时文件目录"tmp"

# 创建tmp目录 [root@lwej mysql8_3306]# mkdir tmp # 将tmp目录的权限赋予用户mysql和用户组mysql [root@lwej mysql8_3306]# chown -R mysql:mysql tmp # 查看 [root@lwej mysql8_3306]# ll

图片.png

6.3 在MySql根目录下添加 my.cnf 配置文件

[root@lwej mysql8_3306]# vi my.cnf

配置文件内容如下:

[mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir=/opt/mysql/mysql8_3306 # 设置mysql数据库的数据的存放目录 datadir=/opt/mysql/mysql8_3306/data # 为MySQL客户程序与服务器之间的本地通信指定一个套接字文件(仅适用于UNIX/Linux系统;默认设置一般是/var/lib/mysql/mysql.sock文件) socket=/opt/mysql/mysql8_3306/tmp/mysql.sock # 设置X Plugin插件端口号,默认33060 mysqlx_port=33060 # 用于连接的Unix套接字文件的路径.只有在Unixos上运行时,MySQL Server才使用此设置 mysqlx_socket=/opt/mysql/mysql8_3306/tmp/mysqlx.sock # 允许最大连接数 max_connections=10000 # 允许连接失败的次数,防止有人从该主机试图***数据库系统 max_connect_errors=10 # 服务端使用的字符集默认utf8mb4 character-set-server=utf8mb4 #数据库字符集对应一些排序等规则,注意要和character-set-server对应 collation-server = utf8mb4_general_ci # 创建新表时使用的默认存储引擎 default-storage-engine=INNODB # 设置sql语法模式,去掉ONLY_FULL_GROUP_BY sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES # 设置大小写是否敏感,linux下默认值为0(敏感),Windows下默认值是1(不敏感) lower_case_table_names=1 # 开启慢查询(选择开启) slow_query_log=1 # 设置慢查询时间为5秒(选择开启),默认10秒 long_query_time=5 # 记录所有没有利用索引的查询(会导致日志信息暴涨,慎用,建议关闭),慢查询和此设置都设置为on才生效 #log_queries_not_using_indexes=off [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8mb4 # 为MySQL客户程序与服务器之间的本地通信指定一个套接字文件(仅适用于UNIX/Linux系统;默认设置一般是/var/lib/mysql/mysql.sock文件) socket=/opt/mysql/mysql8_3306/tmp/mysql.sock

图片.png

扩展:  慢查询日志路径默认在mysql根路径下的data目录中,默认给一个缺省的文件名host_name-slow.log,如本例中就是"/opt/mysql/mysql8_3306/data/lwej-slow.log"  慢查询具体使用==>《查看MySql慢日志》

6.4 修改MySql启动文件

解压版的MySql,默认的安装路径是:/usr/local/mysql,如果自定义安装路径,则需要修改mysql根路径下support-files目录中的mysql.server文件,将默认路径"/usr/local/mysql"替换为实际安装路径,如"/opt/mysql/mysql8_3306",否则将无法启动,建议将文件下载到本地批量替换

[root@lwej mysql8_3306]# vi support-files/mysql.server

图片.png

6.5 初始化MySQL数据库

6.5.1 方式一(推荐)

# 初始化数据库,默认密码为空 [root@lwej mysql8_3306]# ./bin/mysqld --defaults-file=/opt/mysql/mysql8_3306/my.cnf --initialize-insecure --lower-case-table-names=1 --user=mysql --datadir=/opt/mysql/mysql8_3306/data --basedir=/opt/mysql/mysql8_3306

图片.png

6.5.2 方式二

# 初始化数据库,拥有初始化密码 [root@lwej mysql8_3306]# ./bin/mysqld --defaults-file=/opt/mysql/mysql8_3306/my.cnf --initialize --lower-case-table-names=1 --user=mysql --datadir=/opt/mysql/mysql8_3306/data --basedir=/opt/mysql/mysql8_3306

图片.png

6.6 启动MySQL数据库

# 启动mysql,第一次启动会生成*.localdomain.err日志文件 [root@lwej mysql8_3306]# ./support-files/mysql.server start

图片.png

6.7 连接MySQL数据库

输入5.4初始化数据库时生成的默认密码,如果是空密码,则直接回车确认即可

# -S /opt/mysql/mysql8_3306/tmp/mysql.sock是mysql.sock套接字文件路径,如果默认路径是/tmp/mysql.sock则可以省略 [root@lwej mysql8_3306]# ./bin/mysql -u root -p -P3306 -S /opt/mysql/mysql8_3306/tmp/mysql.sock

图片.png

6.8 修改数据库密码

# 修改密码为自定义密码"abc_123" mysql> set password = 'abc_123';

图片.png

6.9 开启远程访问

# 切换到mysql库 mysql> use mysql; # 查看是否已开启远程连接 mysql> select host, user from user where user = 'root'; # 设置任何主机都可以连接 mysql> update user set host='%' where user='root'; # 刷新设置,使之生效 mysql> flush privileges; # 再次查看是否已开启远程连接 mysql> select host, user from user where user = 'root';

图片.png

6.10 创建其他用户

传送门 ==> 《MySql创建新用户》

7.防火墙开放端口

远程连接的时候发现仍然连接不上,检查防火墙,发现未打开指定的端口号,这里打开指定端口号即可.以下操作需退出mysql,任何目录均可,或者重新打开一个窗口进行操作传送门 ==> 《CentOS设置防火墙开放端口》

8.测试连接

root用户远程连接

图片.png

test用户远程连接

图片.png

9.添加mysql到服务,设置随机启动

传送门==>CentOS添加多实例MySql服务

上一篇:lynis安装与使用-史上最全
下一篇:没有了
网友评论