前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Centos7安装mysql8教程

Centos7安装mysql8教程

作者头像
zhanyd
发布2022-05-16 12:32:56
2.1K0
发布2022-05-16 12:32:56
举报
文章被收录于专栏:编程我也会编程我也会

网上的教程很多,我也参考了很多,以下是我实践的步骤,真实有效。

1.配置Mysql 8.0安装源:

sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

2.安装Mysql 8.0

sudo yum --enablerepo=mysql80-communityinstall mysql-community-server

以下都选y

看到complete就是安装完啦,是不是很简单?

3.启动mysql服务

安装完的第一件事当然是启动mysql服务啦

sudo service mysqld start

这样就算启动完了哦,不信?看下运行状态:

service mysqld status

嗯,没骗你吧。。。

4.查看root临时密码:

安装完mysql之后,会生成一个临时的密码让root用户登录,那么临时密码在哪里看呢?

输入以下命令就可以啦:

grep "A temporary password"/var/log/mysqld.log

我去,好复杂。。。

5.更改临时密码:

这个密码估计也只有外星人能记得住了,作为地球人,第一件事就是改成我自己容易记得密码啦。

先用临时密码登录mysql

输入:mysql -uroot -p

在Enter password:后面输入密码,注意输入密码的时候是看不到的哟,别担心,直管输完回车就行。

恭喜你,这样就是登录成功了。

先在我们要改密码了哟:

输入:ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';

这里的new password要改成你自己的密码哟,我想把密码改成root,所以我输入:ALTER USER 'root'@'localhost'IDENTIFIED BY 'root';

哎哟,提示密码不满足密码验证策略,也是,密码太简单了呢。

好吧,现在有2种选择:

1. 把密码改复杂点,让它符合密码验证策略,这个当然是最好的,符合国际惯例;

2. 把密码验证策略改简单点,让它适用简单的密码,这个符合懒人的做法。

额,作为一个上进的人,那我就选择2吧。

那我们先看看当前的密码验证策略是怎么样的吧。

输入:SHOW VARIABLES LIKE 'validate_password.%';

我去,重置密码之前还不让看。。。直接看官方文档吧:

validate_password.length是密码的最小长度,默认是8,我们把它改成4

set global validate_password.length=4;

validate_password.policy验证密码的复杂程度,我们把它改成0

代码语言:javascript
复制
set global validate_password.policy=0;

validate_password.check_user_name用户名检查,用户名和密码不能相同,我们也把它去掉

代码语言:javascript
复制
set globalvalidate_password.check_user_name=off;

现在再执行修改密码的命令:

代码语言:javascript
复制
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

成功了,密码设成了root,但是我建议大家还是设个复杂点密码,不要这么懒哦。

6.配置远程访问

用mysql客户连接报不允许连接的错误,那是因为没开通远程访问的权限哦。

百度上基本说执行

GRANT ALL ON *.* TO 'root'@'%'; 就行了,但是一不下心报了个错:

看下默认MySQL用户:

代码语言:javascript
复制
use mysql;
select host, user, authentication_string, plugin fromuser;

发现root的host是localhost,不是%哦,那我们就加个host是%的root账号:

代码语言:javascript
复制
CREATE USER 'root'@'%' IDENTIFIED BY 'root';

再查下用户

代码语言:javascript
复制
select host, user, authentication_string, plugin fromuser;

可以看到已经新增了host为%的root用户

然后再执行:

代码语言:javascript
复制
GRANT ALL ON *.* TO 'root'@'%';

成功了耶,嘿嘿。

连接成功:

7.navicat连接mysql

用navicat连接mysql还是会报错:

原因是mysql8的加密方式规则不一样,是caching_sha2_password

把加密方式改成mysql_native_password就行了:

代码语言:javascript
复制
ALTER USER '[用户名]'@'%' IDENTIFIED WITH mysql_native_password BY '[密码]';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_passwordBY 'root';

加密方式以及改成了mysql_native_password:

这样就可以了哦。大功告成!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-11-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程我也会 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档