Linux下安装MySQL 8.0

本文将介绍如何在Linux系统下安装MySQL 8.0。首先,我们需要下载MySQL的安装包,然后进行安装和配置。以下是详细的步骤:

1. 下载MySQL安装包

访问MySQL官方网站(https://dev.mysql.com/downloads/mysql/)下载MySQL 8.0的安装包。选择对应的Linux发行版和版本,然后点击“Download”按钮。下载完成后,你会得到一个名为mysql-8.0.xx-linux-glibc2.12-x86_64.tar.xz的文件(其中xx表示具体的版本号)。

2. 解压安装包

在终端中,进入到下载目录,然后使用以下命令解压安装包:

tar -xvf mysql-8.0.xx-linux-glibc2.12-x86_64.tar.xz

解压后,你会得到一个名为mysql-8.0.xx-linux-glibc2.12-x86_64的文件夹。

3. 创建MySQL用户和组

为了安全起见,我们需要创建一个专门的用户和组来运行MySQL服务。在终端中执行以下命令:

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

4. 移动解压后的文件夹到/usr/local目录

将解压后的文件夹移动到/usr/local目录下,并重命名为mysql8.0:

sudo mv mysql-8.0.xx-linux-glibc2.12-x86_64 /usr/local/mysql8.0

5.创建data目录

进入mysql8.0

cd mysql8.0

创建data文件夹存储文件

mkdir data 

6. 更改文件夹权限

为了让MySQL用户可以访问和管理这个文件夹,我们需要更改其权限:

sudo chown -R mysql:mysql /usr/local/mysql8.0

在这里插入图片描述

7. 初始化MySQL数据库

进入MySQL的bin目录,然后执行mysqld命令进行初始化:

cd /usr/local/mysql8.0/bin
./mysqld --user=mysql --basedir=/usr/local/mysql8.0 --datadir=/usr/local/mysql8.0/data/ --initialize

初始化过程中,系统会生成一个临时密码,请记下这个密码,稍后需要用到。
在这里如果报错:./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
出现该问题首先检查该链接库文件有没有安装使用 rpm -qa|grep libaio命令进行核查
运行该命令后发现系统中无该链接库文件
使用命令,yum install libaio-devel.x86_64安装
在这里插入图片描述
在这里插入图片描述
安装成功后,继续运行数据库的初始化命令,成功后得到临时密码
在这里插入图片描述

8.编辑my.cnf文件

  vi /etc/my.cnf

注释mysqld_safe,修改信息
basedir=/usr/local/mysql8.0/ (mysql的安装目录)
datadir=/usr/local/mysql8.0/data/ (data的目录)
socket=/tmp/mysql.sock
character-set-server=UTF8MB4

完整内容如下:

[mysqld]
port=3306
#datadir=/var/lib/mysql
#socket=/var/lib/mysql/mysql.sock
basedir=/usr/local/mysql8.0/
datadir=/usr/local/mysql8.0/data/
socket=/tmp/mysql.sock
character-set-server=UTF8MB4
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
slow_query_log=1                # 开启慢查询日志
slow_query_log_file=/usr/local/mysql-8.0/logs/slow.log   # 慢查询日志存储路径
long_query_time=2               # 查询时间超过2秒的记录为慢查询

#[mysqld_safe]
#log-error=/var/log/mariadb/mariadb.log
#pid-file=/var/run/mariadb/mariadb.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

9. 登录MySQL并修改密码

使用刚刚生成的临时密码登录MySQL:

mysql -u root -p

在这里插入图片描述
输入临时密码后,你将进入MySQL命令行界面。接下来,我们需要修改root用户的密码:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码'; 

将新密码替换为你想要设置的密码。
在这里插入图片描述
执行 flush privileges; 使密码生效

10.修改远程连接并生效

选择mysql数据库

use mysql;

修改远程连接并生效

update user set host='%' where user='root';
flush privileges;
exit;

在这里插入图片描述

11.开放防火墙端口,加载生效

开放防火墙3306端口

firewall-cmd --add-port=3306/tcp --permanent

重启防火墙

firewall-cmd --reload

在这里插入图片描述
到此mysql就安装完毕,用navicat远程测试连接
在这里插入图片描述

12. 配置MySQL服务自动启动

为了让MySQL服务在系统启动时自动运行,我们需要创建一个systemd服务文件。创建一个名为mysql.service的文件,内容如下:

[Unit]
Description=MySQL Server
After=network.target

[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld_safe --user=mysql
EnvironmentFile=-/etc/sysconfig/mysql

[Install]
WantedBy=multi-user.target

将这个文件保存到/etc/systemd/system目录下,然后执行以下命令启用和启动MySQL服务:

sudo systemctl enable mysql.service
sudo systemctl start mysql.service

至此,MySQL 8.0已经成功安装在Linux系统下。

  • 25
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

10年程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值