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

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.lryc.cn/news/2378956.html

相关文章:

  • 机器学习笔记2
  • AgentCPM-GUI,清华联合面壁智能开源的端侧GUI智能体模型
  • Go语言实现链式调用
  • 重排序模型解读 mxbai-rerank-base-v2 强大的重排序模型
  • 期望是什么:(无数次的均值,结合概率)21/6=3.5
  • uniapp-vue3项目中引入高德地图的天气展示
  • 容器化-k8s-介绍及下载安装教程
  • lc42接雨水
  • 通义千问-langchain使用构建(三)
  • uniapp自动构建pages.json的vite插件
  • 系统漏洞扫描服务:维护网络安全的关键与服务原理?
  • nlf loss 学习笔记
  • 【Redis】零碎知识点(易忘 / 易错)总结回顾
  • 基于three.js 全景图片或视频开源库Photo Sphere Viewer
  • LangPDF: Empowering Your PDFs with Intelligent Language Processing
  • OpenVLA (2) 机器人环境和环境数据
  • 代码复现5——VLMaps
  • Ocean: Object-aware Anchor-free Tracking
  • 计算机网络(1)——概述
  • 刘家祎双剧收官见证蜕变,诠释多面人生
  • Axure制作可视化大屏动态滚动列表教程
  • MATLAB实现振幅调制(AM调制信号)
  • LLM-Based Agent综述及其框架学习(五)
  • 6.1.1图的基本概念
  • Linux面试题集合(6)
  • 时间筛掉了不够坚定的东西
  • Python集合运算:从基础到进阶全解析
  • jvm安全点(二)openjdk17 c++源码垃圾回收安全点信号函数处理线程阻塞
  • YOLOv7训练时4个类别只出2个类别
  • 【论文阅读】针对BEV感知的攻击