Linux环境下MySQL8.0数据库的下载安装配置

大家好,我是程序员阿江。

这篇文章主要记录,在Linux环境下,数据库MySQL8.0的卸载、下载、安装和配置。
演示环境: centos7.9+mysql8.0.35

MySQL卸载

如果你的服务器之前安装过mysql,最好先卸载,以免后续安装出错。

使用rpm -qa | grep -i mysql查看服务器上是否安装过MySQL:

alt

如果出现上面的文件,请使用yum remove mysql-xxx(上面查到的rpm包)依次删除,直到rpm -qa | grep -i mysql查询为空。

至此,MySQL软件已经卸载,但是还需要删除MySQL相关的一些文件。

find / -name mysql查找mysql相关的文件:

alt

然后使用rm -rf删除上面的文件
最后使用rm -rf /etc/my.cnf删除MySQL的配置文件。

下载MySQL8.0

推荐从MySQL官网进行下载

alt
alt

看下面这张截图,选择合适自己的版本进行下载,我选择的是Linux7(x86,64bit)离线版本

alt

下载结束后,会得到一个mysql-8.0.35-1.el7.x86_64.rpm-bundle.tar压缩包

查看Linux的版本的命令:
cat /etc/redhat-release

安装MySQL8.0

下载好的压缩包需要上传到Linux服务器,由于文件较大,上传较慢,所以我推荐先在本地解压,然后将下面的几个文件上传到服务器即可:

alt

注意:MySQL8.0较早的版本可能没有上图中的第5个文件,就不用上传啦,后续安装也忽略这个文件

如下图,我已经将这6个文件放到我的/opt/mysql80目录下了:

alt

在正式安装之前,我们还需要做下面2个准备工作:

  1. 修改/tmp临时目录权限
    执行 chmod -R 777 /tmp命令即可。
  2. 检查依赖
    rpm -qa | grep libaio alt rpm -qa | grep net-tools alt 如果不存在,需要进行rpm安装。

接下来开始正式安装MySQL:

按照上面截图中数字的顺序依次执行rpm -ivh xxx命令进行安装:

rpm -ivh mysql-community-common-8.0.35-1.el7.x86_64.rpm  
rpm -ivh mysql-community-client-plugins-8.0.35-1.el7.x86_64.rpm  
rpm -ivh mysql-community-libs-8.0.35-1.el7.x86_64.rpm  
rpm -ivh mysql-community-client-8.0.35-1.el7.x86_64.rpm  
rpm -ivh mysql-community-icu-data-files-8.0.35-1.el7.x86_64.rpm  
rpm -ivh mysql-community-server-8.0.35-1.el7.x86_64.rpm  

第三步如果出现mariadb-libs错误,执行yum remove mysql-libs
最后一步如果出现libnuma.so.1错误,执行yum -y install numactl。

至此,MySQL8.0已经安装成功了,可以使用mysql --version或者mysqladmin --version进行查看。

启动MySQL

  • 初始化MySQL服务
    mysqld --initialize --user=mysql
    执行完初始化命令后,会为root用户生成一个临时密码并保存在日志中,可以使用 cat /var/log/mysqld.log查看密码,后面登录需要使用该密码
alt
  • 启动MySQL服务
    systemctl start mysqld
    执行完上面命令后可以使用systemctl status mysqld查看是否启动成功

  • 连接MySQL
    mysql -uroot -p输入密码 或者 mysql -uroot -p回车再输入密码

小区别:回车后输入的密码是加密显示的,否则是明文显示的

密码从上面的日志里复制,注意不要多复制前面的空格,粘贴后密码可能不在控制台显示,直接回车即可。

alt

至此,登录成功。

修改密码

初次登录MySQL是不能操作数据库的,需要先执行下面的SQL修改密码

alter user 'root'@'localhost' identified by 'new_password'

开机自启动

每次开机都需要重启MySQL服务,还是比较麻烦的,我们可以设置MySQL服务开机自启动。

  • 查看MySQL服务是否开机自启动
systemctl list-unit-files | grep mysqld.service 
  • 禁用自启动
systemctl disable mysqld.service
  • 启用自启动
systemctl enable mysqld.service

enable表示开启,disable表示禁用

alt

开启远程连接

root用户默认只能从本地连接,如果需要使用远程连接MySQL,需要做下面的设置。

首先要保证服务器的3306端口已开放,或者直接关闭防火墙,云服务器的话则在控制台设置安全组放开3306端口即可。

假设使用的是虚拟机,下面我们看看如何关闭防火墙。

  • 查看防火墙状态:
systemctl status firewalld
  • 关闭防火墙
systemctl stop firewalld
  • 禁用防火墙开机自启动
systemctl disable firewalld

然后登录MySQL,执行下面的SQL语句

//查看所有数据库
show databases;
//切换到mysql数据库
use mysql;
//查看root用户权限
select host,user from user;
//二选一 将root用户设置为任意远程连接
update user set host='%' where  user='root';
//二选一 这个看着安全点
update user set host='192.168.1.%' where  user='root';

别忘了刷新下,使用flush privileges;

MySQL8.0需要执行(MySQL5.7不用):

alter user 'root'@'%' identified with mysql_native_password by 'new_password';

完结,撒花!~

本文由 mdnice 多平台发布

  • 30
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值