CentOS安装解压缩版mysql8(图解)
  TEZNKK3IfmPf 2023年11月14日 148 0

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

1.安装包准备

MySQL最新版本下载地址

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

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

3.下载MySql

3.1 选择对应的版本:

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

3.2 下一步:

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

4.环境检查

4.1 mysql和mariadb检查

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

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

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

4.1.2 卸载已存在的mysql或mariadb

不存在则跳过此步

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

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

4.2 用户和用户组检查

4.2.1 检查mysql用户和用户组

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

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

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

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

5.上传服务器并解压缩

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

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

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

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

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

中间部分省略...

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

查看解压完毕的目录信息

[root@lwej opt]# ls

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

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

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

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

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

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

6.安装

6.1 创建mysql数据目录"data"

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

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

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

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

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

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

扩展:   慢查询日志路径默认在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 

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

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

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

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

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

6.6 启动MySQL数据库

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

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

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

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

6.8 修改数据库密码

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

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

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';

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

6.10 创建其他用户

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

7.防火墙开放端口

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

8.测试连接

root用户远程连接

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

test用户远程连接

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

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

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

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年05月31日   31   0   0 数据库mysql
  TEZNKK3IfmPf   2024年05月31日   52   0   0 linux服务器
  TEZNKK3IfmPf   2024年05月31日   30   0   0 linux服务器centos
  TEZNKK3IfmPf   2024年05月31日   29   0   0 linuxbind
TEZNKK3IfmPf