作者介绍:简历上没有一个精通的运维工程师,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

数据库是一个系统(应用)最重要的资产之一,所以我们的数据库将从以下几个数据库来进行介绍。
MySQL(本章节)
PostgreSQL
Redis
Etcd
在我们Linux系统里面有忘记密码通过单用户方法修复密码问题,在MYSQL里面也有类似的方法,当然有了云数据库以后,云数据都提供了Web方式重设密码的功能,本小节就介绍和密码相关的功能。
忘记免密
1.忘记密码无法登录
[root@localhost ~]# mysql -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
[root@localhost ~]# 2.停止MYSQL服务
#具体以启动方法为准
systemctl stop mysqld3.使用特殊方法启动MYSQL
#这个是前台启动mysql
sudo -u mysql mysqld --skip-grant-tables #也可以在配置文件里面添加配置,然后再按照普通方式启动mysql
[mysqld]
skip-grant-tables4.重设密码
按照前面的方法启动的MYSQL,可以直接使用mysql命令直接进入数据库,不需要密码。然后通过下面下面的命令就可以重设密码。
-- 先选择 mysql 数据库
USE mysql;
-- 更新 root 用户密码(MySQL 5.7)
UPDATE user SET authentication_string=PASSWORD('你的新密码') WHERE User='root';
#刷新权限
FLUSH PRIVILEGES;
EXIT;免密码
如果是自己可控的环境或者方便自己运维方便,可以系统有密码的情况,可以可以实现免密码登录,生产环境慎用。
vi ~/.my.cnf[client]
user=root
password=你的密码
host=localhost当然还可以直接使用别名方式来实现,尤其是你多个数据库实例需要管理的情况,具体alias可参考历史文件:Linux进阶-别名