mysql修改与重置密码
- 启动/关闭
systemctl start/stop mysqld.service - 登陆与退出
mysql -u用户 -p密码 -hlP地址 -D数据库名 -P端口
注意: -p密码不能有空格,密码有特殊字符,需要用单括号括起来。8.0禁止将密码写在命令行
如果提示使用临时密码请修改密码修改root的密码:密码要复合复杂性要求。
mysql> alter user root@localhost identified by ‘ABCabc123!’; - 修改root密码
方法一:mysqladmin ———— 有可能会导致密码的泄露
[root@localhost ~]# mysqladmin -uroot -p password ‘#OPENlab123’
[root@localhost ~]# mysqladmin -uroot -p password
方法二:alter user
mysql> alter user root@localhost identified by ‘#OPENlab123’;
方法三:set password for
mysql> set password for ‘root’@‘localhost’ = ‘#openLAB123’;
方法四:update表 ———— 要先指定一个数据库
mysql> use mysql;
mysql> update user set authentication_string=‘’ where user=‘root’;
mysql> flush privileges; - 重置root密码
方法一: ———— 跳过权限表后,需要复制会话在另一个窗口操作
启动时跳过权限表: --skip-grant-tables
停止服务:
[root@mysql ~]# systemctl stop mysqld
启动时跳过权限表:
[root@mysql ~]# mysqld --user=mysql --skip-grant-tables
修改密码: ———— 可以用方法一/四
[root@mysql ~]# mysql
mysql> FLUSH PRIVILEGES;
mysql> ALTER USER root@localhost IDENTIFIED BY ‘#openLAB123’;
mysql> FLUSH PRIVILEGES;
退出数据库:
mysql> \q
停止数据库:
[root@mysql ~]# killall mysqld
方法二:
停止服务:
[root@mysql ~]# systemctl stop mysqld
创建文件并编写内容:
[root@mysql ~]# cat /tmp/mysql-init
alter user ‘root’@‘localhost’ identified by ‘#OPENlab123’;
检查日志:
[root@mysql ~]# tail -f /var/log/mysql/mysqld.log
新开一个终端,并进行下一步操作:
[root@mysql ~]# mysqld --init-file=/tmp/mysql-init --user=mysql &
查看日志启动成功后停止数据库即可:
[root@mysql ~]# killall mysqld
[root@mysql ~]# ps -ef | grep mysql
重新登陆并查看。