1.先下载mysql到本地,在上传到需要安装MySQL的服务器上;
https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz
2.上传MySQL压缩包到指定文件夹下,并解压;
例如:在/data01文件夹
先创建mysql文件下,再解压
java
#创建文件夹
sudo mkdir mysql
cd mysql
#在目录中执行解压命令
sudo tar -xvf mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz
#修改解压后的目录名称(可选)
sudo mv mysql-8.0.27-linux-glibc2.12-x86_64 mysql-8.0.27
3.创建用户组以及用户和密码:
java
#创建mysql用户组
sudo groupadd mysql
#创建mysql用户 并添加到mysql用户组中
sudo useradd -g mysql mysql
4.授权用户
java
#授权mysql用户目录权限
sudo chown -R mysql.mysql /data01/mysql/mysql-8.0.27/
5.执行初始化命令
java
sudo mkdir data
sudo chown -R mysql.mysql /data01/mysql/mysql-8.0.27/
#进入mysql目录
cd mysql-8.0.27/bin
#执行初始化命令
sudo ./mysqld --user=mysql --basedir=/data01/mysql/mysql-8.0.27 --datadir=/data01/mysql/mysql-8.0.27/data/ --initialize --lower-case-table-names=1
#执行成功后会有root用户初始密码要记录下
6.修改MySQL数据目录
java
#修改配置文件
sudo vi /etc/my.cnf
#参考示例
[mysqld]
#设置mysql的安装目录
basedir=/data01/mysql/mysql-8.0.27/
#设置mysql数据库的数据的存放目录
datadir=/data01/mysql/mysql-8.0.27/data
# 设置客户端默认字符集
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 设置是否区分大小写(初始化后此参数在这里也必须存在)
lower_case_table_names=1
# 默认使用"mysql_native_password"插件认证
default_authentication_plugin=mysql_native_password
#注释mysqld_safe 下的所有配置 系统会输出到 datadir目录下
#[mysqld_safe]
#log-error=/var/log/mysqld.log
#pid-file=/var/run/mysqld/mysqld.pid
7.服务器关闭selinux防火墙
java
sudo vim /etc/sysconfig/selinux
#设置selinux为disabled
#再输入setenforce 0,临时关闭selinux防火墙
sudo setenforce 0
8.添加mysqld服务到系统 授权以及添加服务
java
# 手动创建 systemd 服务文件
sudo vi /etc/systemd/system/mysql.service
#添加下面内容
[Unit]
Description=MySQL Server
After=network.target
[Service]
Type=simple
User=mysql
Group=mysql
ExecStart=/data01/mysql/mysql-8.0.27/bin/mysqld --defaults-file=/etc/my.cnf
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
#将mysql命令添加到系统指令:在任何目录下执行 mysql -uroot -p 进行登录
sudo ln -s /data01/mysql/mysql-8.0.27/bin/mysql /usr/bin
#重新加载 systemd 并启动服务
sudo systemctl daemon-reload
sudo systemctl enable mysql
sudo systemctl start mysql

登录数据库报错libtinfo.so.5处理:
java
# 检查现有的 libtinfo 版本
ls -la /usr/lib64/libtinfo*
# 创建符号链接(假设有 libtinfo.so.6)
sudo ln -sf /usr/lib64/libtinfo.so.6 /usr/lib64/libtinfo.so.5
sudo ln -sf /usr/lib64/libncurses.so.6 /usr/lib64/libncurses.so.5
# 验证链接
ls -la /usr/lib64/libtinfo.so.5
9.登录服务并修改密码:
java
#登录mysql 使用上面记录的初始化密码
mysql -u root -p密码
#修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
#刷新权限
flush privileges;
#配置外网连接授权:
#使用当前数据库
use mysql;
#修改root 用户的连接地址现在 localhost 为本机 也可指定固定ip 此处 % 开启所有ip访问
update user set host='%' where user='root';
#刷新权限
flush privileges;
10.打开防火墙端口
java
#查看防火墙状态
sudo systemctl status firewalld
sudo systemctl is-enabled firewalld
#打开3306端口
sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
最后打开navicat登录数据库验证是否成功。