当前位置: 首页 > web >正文

MySQL 5.7在CentOS 7.9系统下的安装(下)——给MySQL设置密码

新下载下来的MySQL,由于没有root密码,(1)所以如果我们希望登陆mysql,得给mysql的root账户设置密码,或者另一方面来说,(2)未来如果你忘记root密码了,也能通过这种方式重新设置新的密码

注:以下的操作方法同样适用于最新版的Ubuntu Linux(15及以上版本),细微差异会用文字描述指出。

目录

第一步:首先进入mysql的安全模式:

第二步:通过update的方式先给root设置一个密码:

第三步:用之前设置的密码登陆上mysql系统: 

第四步:做一些用户密码上的配置:

第五步:对mysql进行简单的配置:


第一步:首先进入mysql的安全模式:

进入mysql的配置文件里面,这个配置文件在CentOS下是/etc/my.cnf,Ubuntu是/etc/mysql/my.cnf

# 需要权限,尽量在root用户下操作:
vim /etc/my.cnf# 找到[mysqld]字段,在这个字段下加入语句:
skip-grant-tables;# 然后别忘了重启mysqld服务:
systemctl restart mysqld;

产生的效果:安全模式下你就可以以免密码的方式登陆上mysql的root用户啦。

第二步:通过update的方式先给root设置一个密码:

安全模式下,很多和MySQL用户管理相关的命令无法被执行,但是我们仍然可以通过下面的方式来设置密码:

# 设置新密码:
update mysql.user set authentication_string=password('newpassword') where user='root';
# 刷新权限:
flush privileges;

设置好密码之后,进入之前的配置文件,将第一步加入的语句注释掉(最前面加'#')。

然后输入下面的指令,重启mysqld服务:

systemctl restart mysqld;

第三步:用之前设置的密码登陆上mysql系统: 

登陆上这个系统之后,你会发现很多指令之前可以的(安全模式下)你都用不了了,会报错:

这正常吗,答案是正常的,这是因为mysql密码出于安全性考虑,某个密码你用了一段时间后,就不能再用了,该值由default-password-lifetime(密码的默认生命周期)维护。 

通过update语句设定的密码,默认就是用不了的,是过期的。

密码过期的用户仍然可以登陆mysql系统,但是已经无法执行mysql的大部分语句了。为此,我们输入下面的指令:

# 这条指令不行就用下面的那条:
set passward=passward('新密码');
alter user user() identified by '新密码'

然后有些小伙伴在设置新密码时可能会报错:

 这是因为mysql对密码强度默认是有要求的,出现这个错误的时候建议大家设置密码时密码里面小写字母,大写字母,数字,特殊字符啥的都用上。把密码先设置上再说。

第四步:做一些用户密码上的配置:

如果前面三步没有问题,你就可以进入第四步了。首先我们先输入下面这些指令:

#安全强度,默认为中,即1,要求必须包含 数字、符号、⼤⼩写字⺟,⻓度⾄少为8位。如果有需要设置成低(即0)
set global validate_password_policy=0;#密码最⼩⻓度,默认是8,有需要的小伙伴可进行设置:
set global validate_password_length=1;#配置信息查看:配置好之后运行这个指令。
SHOW VARIABLES LIKE 'validate_password%';

配置密码的默认生命周期(如果有需要):

打开my.cnf配置文件,在[mysqld]字段下加入下面的指令:

#密码的默认生命周期设置为120天(根据自己的需求来,单位是:天)
default-password-lifetime=120

第五步:对mysql进行简单的配置:

既然都谈到mysql配置的话题了,那么其他的简单配置我们顺便也做了吧🙂:

# 先打开mysql的配置文件:
vim /etc/my.cnf# 找到[mysqld]字段...在mysqld字段下加入这些配置信息!
# 1.修改mysqld的默认编码方式:
character-set-server=utf8
# 2.设置mysqld的默认端口号:
port=3306
# 3.设置mysqld的默认存储引擎:innodb存储引擎支持事务,所以我们默认用它即可
default-storage-engine=innodb
# 4.设置mysqld的开机自启动(根据需求来,可以不设):
systemctl enable mysqld
systemctl daemon-reload

至此结束!

http://www.xdnf.cn/news/5863.html

相关文章:

  • Android NDK 高版本交叉编译:为何无需配置 FLAGS 和 INCLUDES
  • org.slf4j.MDC介绍-笔记
  • 集成DHTMLX 预订排期调度组件实践指南:如何实现后端数据格式转换
  • web 自动化之 yaml 数据/日志/截图
  • Boundary Attention Constrained Zero-Shot Layout-To-Image Generation
  • 配置hadoop集群-启动集群
  • apache2的默认html修改
  • 【前端三剑客】Ajax技术实现前端开发
  • ETL 数据集成平台与数据仓库的关系及 ETL 工具推荐
  • 前端流行框架Vue3教程:15. 组件事件
  • kafka----初步安装与配置
  • PROFIBUS DP转ModbusTCP网关模块于污水处理系统的成功应用案例解读​
  • C++中的各式类型转换
  • 序列化和反序列化(hadoop)
  • RabbitMQ发布订阅模式深度解析与实践指南
  • 解决 CentOS 7 镜像源无法访问的问题
  • 爬虫请求频率应控制在多少合适?
  • cocos creator 3.8 下的 2D 改动
  • Kubernetes Horizontal Pod Autosscaler(HPA)核心机制解析
  • 【android bluetooth 框架分析 02】【Module详解 6】【StorageModule 模块介绍】
  • C#进阶(1) ArrayList
  • TDengine编译成功后的bin目录下的文件的作用
  • 【计算机组成原理】第二部分 存储器--分类、层次结构
  • Altium Designer AD如何输出PIN带网络名的PDF装配图
  • 智能意图识别 + 内容定位,contextgem重构文档处理逻辑
  • ExoPlayer 如何实现音画同步
  • 记录为什么LIst数组“增删慢“,LinkedList链表“查改快“?
  • 信息学奥赛一本通 1535:【例 1】数列操作
  • 新一代动态可重构处理器技术,用于加速嵌入式 AI 应用
  • WSL 安装 Debian 12 后,Linux 如何安装 vim ?