超详细的centos7安装mysql8
1、mysql下载
https://www.mysql.com/downloads/
官网有三个版本:
MySQL Enterprise Edition 企业版本 需付费,可以试用30天,提供了更多的功能和更完备的技术支持,更适合于对数据库的功能和可靠性要求较高的企业客户。
MySQL Cluster CGE 高级集群版 需付费,是一个实时开源事务数据库,专为在高吞吐量条件下快速、始终在线访问数据而设计。
MySQL Community Server 社区版本 免费开源版本,不提供官方技术支持,适用于大多数普通用户。
这里我们下载免费的开源版本,即上图中最后一个红框的链接,点击进入下载页面:
点击MySQL Community Server:
选择操作系统和版本,然后选择第一个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压缩包,解压后得到以下文件:
但是实际安装的话,要不了这些文件,只需抽出以下5个rpm包:
然后使用FTP、winScp等工具上传的服务器备用。
2、mysql安装
这里演示的是8.0.25的安装(在上面提供的百度网盘中,同时拥有8.0.25和8.0.28版本的
mysql):
安装前检查依赖
libaio
rpm -qa|grep libaio
如图,如果存在libaio的字样说明有libaio相关依赖,否则执行下面命令,进行依赖的安
装:
yum install libaio
net-tools
rpm -qa|grep net-tools
同理,如果出现net-tools字样,说明存在net-tools相关依赖,否则执行下面安装命令:
yum install net-tools
安装过程
将上述整理的5个rpm包上传到服务器后,在文件目录下,依次执行以下命令(注意必须
按顺序执行,否则可能会包缺少相关依赖的错误):
rpm -ivh mysql-community-common-8.0.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.25-1.el7.x86_64.rpm
在安装第三个包的时候如果出现如下错误:
需要解除之前安装过的依赖即可,执行下面命令:
yum remove mysql-libs
在安装第五个包的时候如果出现如下错误:
需要安装libnuma依赖,执行如下命令解决:
yum install libnuma*
检测是否安装成功
先查看mysql版本信息:
mysql --version
#或者
mysqladmin --version
使用rmp命令查看安装mysql的相关包:
rpm -qa|grep -i mysql
如果成功显示上面安装的5个包,说明安装成功。
3、mysql使用
服务初始化
如果你是以root身份安装和允许mysql服务,为了保证数据库目录与文件(默
认/var/lib/mysql下)的所有者为mysql用户,需要执行下面的命令初始化:
mysqld --initialize --user=mysql
--initialize选项默认以安全模式来初始化,则会为root用户生成一个临时密码,并将该密
码标记为过期,登录后不能做其他任何操作,需要重新设置一个新的密码。生成的临时密
码会记录在日志中,使用如下命令查看日志:
cat /var/log/mysqld.log
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