Linux系统下安装MySQL 8.0.x

本文最后更新于:2023年11月9日 晚上

Linux系统下安装MySQL 8.0.x

1
2
Linux系统版本:CentOS 8.3 64
MySQL版本:mysql-8.0.25-linux-x86_64

1.下载MySQL安装包

2.将MySQL安装包上传到Linux服务器

  • 使用 Xftp 上传文件 (其他ftp软件皆可) 这里存放路径是我自定义的(可直接上传到自定义的目录下)
  • 注:MySQL默认的安装路径是 /usr/local/mysql (路径发生改变,后续配置可能有一丝影响)

3.解压MySQL安装包

  • 进入MySQL安装包存放路径
1
2
3
cd 路径cd	
例: /usr/libo/environment
ll 查看路径下所有目录

  • 将.xz文件解压为.tar
1
2
xz -d .xz文件名称	
例:xz -d mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz

  • 解压MySQL .tar 安装包
1
2
tar -xvf .tar文件名称	
例:tar -xvf mysql-8.0.25-linux-glibc2.12-x86_64.tar

  • 解压完成

  • 修改MySQL文件名称 (名称过长,建议修改)
1
2
mv 原目录名称 新目录名称
例:mv mysql-8.0.25-linux-glibc2.12-x86_64 mysql-8.0.25

4.创建MySQL数据存放目录并授权

  • 进入MySQL目录后,使用命令创建MySQL数据目录,名称可自取,比如:data
1
mkdir 目录名

  • 给MySQL目录授权(包括MySQL数据存放目录)
1
2
chmod能改变权限,-R是目录下所有文件,777就是高权限(读、写、执行)
chmod -R 777 * 意思就是将当前目录下所有文件都给予777权限

5.创建MySQL组:创建MySQL用户并设置密码

  • 添加用户,设置密码
1
2
添加用户:useradd 用户名
设置密码:passwd 用户名
  • 将mysql目录的权限授给mysql用户和mysql组
1
chown -R mysql:mysql /usr/libo/environment/mysql-8.0.25
  • 注:在设置密码时,少于8位会出现提示,再次填写一遍即可,不影响

6.在系统根目录的/etc创建MySQL的安装初始化配置文件my.cnf

  • 内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=/usr/libo/environment/mysql-8.0.25
# 设置mysql数据库的数据的存放目录
datadir=/usr/libo/environment/mysql-8.0.25/data
# 允许最大连接数
max_connections=10000
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
  • 使用命令或者直接在ftp中修改my.cnf文件
1
2
vi /etc/my.cnf
按下i健进入 insert模式进行修改,完成后按下esc键再后输入 :wq 保存并退出(英文模式下,注意wq前面还有冒号:)

7.初始化MySQL

  • 进入MySQL的bin目录下
1
cd /usr/libo/environment/mysql-8.0.25/bin
  • 执行命令,记住生产的随机密码(后面修改密码时会用到)
1
./mysqld --initialize --console

8.启动MySQL服务

  • 运行MySQL服务
1
2
cd /usr/libo/environment/mysql-8.0.25/support-files
./mysql.server start

  • 启动时可能出现的问题和解决方式:

1. 启动MySQL服务时报 updating PID file 错误

解决:在安装目录下重新授权,然后再启动MySQL

1
2
chmod -R 777 /usr/libo/environment/mysql-8.0.25
chmod -R 777 /usr/libo/environment/mysql-8.0.25/data

2. 启动MySQL服务时报 my_print_defaults:未找到命令错误

解决:检查并修改 /etc/my.cnf 中的 MySQL的安装目录

3. 如果确认MySQL安装路径没有问题,很有可能是没有读取到我们的my.cnf配置文件

在mysql.server文件中可以看到,MySQL默认路径为/usr/local/mysql,因为我们是自定义路径。所以需要建立my.cnf文件的连接

1
2
3
4
5
将mysql目录下的bin/my_print_defaults链接到/usr/bin目录下。

cd /usr/bin
sudo ln -s /usr/libo/environment/mysql-8.0.25/bin/my_print_defaults
为什么需要my_print_defaults呢?这是因为mysql.server执行时就是通过my_print_defaults来读取my.cnf配置变量的。

参考博客:https://blog.csdn.net/u012794845/article/details/86577399

  • 将MySQL加入系统进程中
1
2
3
4
将MySQL加入系统进程中
cp mysql.server /etc/init.d/mysql
然后重启MySQL服务
service mysql restart

  • 修改登录密码
1
2
3
进入MySQL 密码是之前自动生成的密码 
./mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

  • 设置允许远程登录
1
2
3
use mysql	切换数据库
update user set user.Host='%' where user.User='root'; 修改HOST为%
flush privileges; 修改成功后刷新权限

  • 退出MySQL
1
quit;
  • 重启MySQL服务
1
service mysql restart

  • 测试远程连接

如果你热爱生活就不要浪费时间,因为时间组成了生活。

Linux系统下安装MySQL 8.0.x
http://example.com/2021/07/08/Linux系统下安装MySQL 8.0.x/
作者
阿波~
发布于
2021年7月8日
更新于
2023年11月9日
许可协议