[Linux] MySQL8.x下载与安装
一、下载MySQL安装包
这里提供三种下载方式:
- 第1种,上官网https://www.mysql.com/,下载好对应的安装包,再上传至服务器。
- 第2种,上官网,获取到下载安装包的链接后,直接在服务上执行wget命令(如下)进行下载,这样就无须再上传安装包。
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.31-1.el8.x86_64.rpm-bundle.tar
- 首先,先进入下载首页:
- 选择MySQL Commynity Server:
- 选择需要下载的MySQL版本(这里下载linux centos对应的版本),然后选择RPM Bundle项点击Download:
- 点击Download后,在最下方提供下载链接。如果使用第一种方式下载安装包,则直接点击下载;如果是第二种方式,则复制下载的链接在服务器上使用wget命令直接下载。
- 第3种方式,使用阿里云镜像进行下载。
- 由于安装包特别大,下载起来很慢,可以到阿里镜像里找安装包进行下载,但是版本相对滞后,无法下载到最新版本。
- 同样的,也可以通过下载后上传服务器,或者在服务器上执行wget命令直接下载,这里不再赘述。
- MySQL安装包阿里云镜像下载链接为:https://mirrors.aliyun.com/mysql/
## wget方式命令示例:
wget https://mirrors.aliyun.com/mysql/MySQL-8.0/mysql-8.0.27-1.el7.x86_64.rpm-bundle.tar?spm=a2c6h.25603864.0.0.297d70b2wQNs1G
二、开始安装MySQL
- 在安装前,先检查服务器是否有mariadb,如果有需要删除(因centos7默认安装了mariadb, 会造成依赖冲突)
rpm -qa | grep mariadb
## 如果上述命令的执行结果为:mariadb-libs-5.5.68-1.el7.x86_64
## 则需要执行如下命令删除mariadb
rpm -e --nodeps mariadb-libs-*
- 开始解压安装包到指定目录下
在/opt/apps文件夹下创建mysql-8.0.27文件夹,并将安装包解压到该文件夹下
tar -xvf mysql-8.0.27-1.el7.x86_64.rpm-bundle.tar -C /opt/apps/mysql-8.0.27
- 依次执行如下命令,安装各类MySQL组件
cd /opt/apps/mysql-8.0.27
rpm -ivh mysql-community-common-8.0.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.27-1.el7.x86_64.rpm
安装组件部分截图如下:
至此,MySQL安装完毕,但是还需要做初始化root密码、开启远程访问等工作,继续。
三、初始化及修改root密码
- 使用如下命令进行密码初始化和查看
## 初始化密码
mysqld --initialize --console
## 修改mysql权限
chown -R mysql:mysql /var/lib/mysql/
## 启动mysqld
systemctl start mysqld
## 查看mysql root初始密码,见下图
cat /var/log/mysqld.log | grep localhost
- 使用mysql命令登入MySQL客户端,如下:
## 执行如下命令,
mysql -uroot -p[加上初始密码] ## 示例:mysql -uroot -pXQnf-yR2Z0q:
- 执行如下命令,修改root用户密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '需要设置的新密码';
## 执行如下刷新权限命令,才会奏效:
flush privileges;
四、开启MySQL远程访问
很多时候,我们直接通过windows本地安装的MySQL客户端可视化工具(如Navicat、SQLyong、DBeaver等)远程访问MySQL服务,不须在服务器上登MySQL后使用命令行操作,使操作更加便捷,所以一般会配置如下操作,使服务器的MySQL能被远程访问。
- 设置防火墙,让防火墙可以同意MySQL接受外界访问:
## 设置防火墙允许外界访问MySQL
firewall-cmd --zone=public --add-port=3306/tcp --permanent
## 重新加载firewall配置
firewall-cmd --reload
- 设置用户远程访问权限(以下操作都是在MySQL客户端root登录后进行的命令操作)
## 参考链接:https://blog.csdn.net/weixin_45949736/article/details/126942157
create user 'root'@'%' identified by 'root123#';
grant all privileges on *.* to 'root'@'%' with grant option;
## 可视化工具访问时存在问题,参考如下链接解决:https://blog.csdn.net/qq_45214414/article/details/115284609
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root123#';
## 执行如下刷新权限命令,才会奏效
flush privileges;
以SQLyong可视化工具为例,远程访问MySQL,如下:
参考链接:
https://blog.csdn.net/u013618714/article/details/126179117
https://blog.csdn.net/zqh529/article/details/114734950
https://blog.csdn.net/weixin_45408791/article/details/128246886