vlambda博客
学习文章列表

超详细的centos7安装mysql8


1、mysql下载




https://www.mysql.com/downloads/

 

 

官网有三个版本:

 

  • MySQL Enterprise Edition 企业版本 需付费,可以试用30天,提供了更多的功能和更完备的技术支持,更适合于对数据库的功能和可靠性要求较高的企业客户。

  • MySQL Cluster CGE 高级集群版 需付费,是一个实时开源事务数据库,专为在高吞吐量条件下快速、始终在线访问数据而设计。

  • MySQL Community Server 社区版本 免费开源版本,不提供官方技术支持,适用于大多数普通用户。

这里我们下载免费的开源版本,即上图中最后一个红框的链接,点击进入下载页面:

 

超详细的centos7安装mysql8

 

点击MySQL Community Server:


 

超详细的centos7安装mysql8

 

 

 

选择操作系统和版本,然后选择第一个RPM Bundle(目前最新版本是8.0.28),点击


Download并下载(如果没有登录的话,需要登录,如果没有账号,需要自行注册即可)。

 

浏览器下载过程很缓慢的,可以复制下载链接:

https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.28-1.el7.x86_64.rpm-bundle.tar


链接:https://pan.baidu.com/s/16GoiLF2I8CqBkyEBOLha6w 提取码:yyds

 


下载后是个tar压缩包,解压后得到以下文件:


 

超详细的centos7安装mysql8

 


但是实际安装的话,要不了这些文件,只需抽出以下5个rpm包:


 

超详细的centos7安装mysql8

 


然后使用FTP、winScp等工具上传的服务器备用。

 


2、mysql安装


这里演示的是8.0.25的安装(在上面提供的百度网盘中,同时拥有8.0.25和8.0.28版本的


mysql):


 

安装前检查依赖


  • libaio

rpm -qa|grep libaio

超详细的centos7安装mysql8

 


如图,如果存在libaio的字样说明有libaio相关依赖,否则执行下面命令,进行依赖的安


装:

yum install libaio
  • net-tools

rpm -qa|grep net-tools

超详细的centos7安装mysql8

 


同理,如果出现net-tools字样,说明存在net-tools相关依赖,否则执行下面安装命令:


 

yum install net-tools

 


安装过程


 

将上述整理的5个rpm包上传到服务器后,在文件目录下,依次执行以下命令(注意必须


按顺序执行,否则可能会包缺少相关依赖的错误):

 

rpm -ivh mysql-community-common-8.0.25-1.el7.x86_64.rpmrpm -ivh mysql-community-client-plugins-8.0.25-1.el7.x86_64.rpmrpm -ivh mysql-community-libs-8.0.25-1.el7.x86_64.rpmrpm -ivh mysql-community-client-8.0.25-1.el7.x86_64.rpmrpm -ivh mysql-community-server-8.0.25-1.el7.x86_64.rpm

 


在安装第三个包的时候如果出现如下错误:


 

超详细的centos7安装mysql8

 


需要解除之前安装过的依赖即可,执行下面命令:

 

yum remove mysql-libs

 


在安装第五个包的时候如果出现如下错误:


 

超详细的centos7安装mysql8

 


需要安装libnuma依赖,执行如下命令解决:


 

yum install libnuma*

 


检测是否安装成功


 

先查看mysql版本信息:

 

mysql --version#或者mysqladmin --version

 

超详细的centos7安装mysql8

 


使用rmp命令查看安装mysql的相关包:

 

rpm -qa|grep -i mysql

 

超详细的centos7安装mysql8

 


如果成功显示上面安装的5个包,说明安装成功。



 

3、mysql使用


 

服务初始化


 

如果你是以root身份安装和允许mysql服务,为了保证数据库目录与文件(默


认/var/lib/mysql下)的所有者为mysql用户,需要执行下面的命令初始化:

 

mysqld --initialize --user=mysql

 

--initialize选项默认以安全模式来初始化,则会为root用户生成一个临时密码,并将该密


码标记为过期,登录后不能做其他任何操作,需要重新设置一个新的密码。生成的临时密


码会记录在日志中,使用如下命令查看日志:

 

cat /var/log/mysqld.log

 

超详细的centos7安装mysql8

 


flSht!mL=5Uk即为root用户的临时密码。


 

修改密码


 

使用上述查询到的临时密码登录mysql:

 

mysql -uroot -p

 


回车并输入临时密码登录,登录成功后,执行如下命令修改密码:


 

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Your New Password'

 

这里有两点需要注意:


  • mysql5.7版本之后,mysql加入了全新的密码安全机制,设置的密码太简单会报错,确保密码的复杂度,不易破解。

 

 

  • mysql8默认的密码加密方式为caching_sha2_password,而mysql5.7是mysql_native_password

 

如果在使用sqlyog(老版本)连接mysql时,会出现如下错误:


 


 

解决该问题一是安装最新版本的sqlyog,或者修改密码并指定密码加密方式:

 

ALTER USER 'Your user'@'%' IDENTIFIED WITH mysql_native_password BY 'Your Password'

 

启动与停止服务

 

systemctl start|stop|restart mysqld

 

其中start|stop|restart分别为启动、停止和重启mysql服务。

 


开机启动


 

在生产环境中,如果要开机自动启动mysql服务,执行下面命令:

 

systemctl enable mysqld