zoukankan      html  css  js  c++  java
  • MySQL修改密码方法汇总

    本文给大家汇总介绍了MySQL修改密码的方法,分为MySQL5.7版本之前以及MySQL5.7版本之后的修改方法,有需要的小伙伴可以参考下

    MySQL5.7版本之前修改密码的方法:

    方法1: 用SET PASSWORD命令

    mysql -u root
    mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');

    方法2:用mysqladmin

    mysqladmin -u root password "newpass"

    如果root已经设置过密码,采用如下方法

    mysqladmin -u root password oldpass "newpass"

    方法3: 用UPDATE直接编辑user表

    [root@ ~]#mysql -uroot -p
    mysql> use mysql;
    mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';
    mysql> FLUSH PRIVILEGES;

    在丢失root密码的时候,可以这样

    mysqld_safe --skip-grant-tables&
    mysql -u root mysql
    mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root';
    mysql> FLUSH PRIVILEGES;

    MySQL 5.7.22修改密码的方式如下:

    1,版本更新,原来user里的password字段已经变更为authentication_string版本更新 缘故,好多网上的教程都不适用了,甚至连官网的文档也不是能够顺利操作的。如果 MySQL 正在运行,首先杀之:killall -TERM mysqld。运行mysqld_safe --skip-grant-tables &如果此时不想被远程连接:mysqld_safe --skip-grant-tables --skip-networking &使用mysql连接server更改密码 远程控制软件

    mysql> update mysql.user set authentication_string=password('hwg123') where user='root' and Host = 'localhost';
    mysql> exit
    [root@Centos7_3 ~]# systemctl restart mysqld

    *特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Password字段了

    而是将加密后的用户密码存储于authentication_string字段。

    2,升级mysql报错如下:ERROR 3009 (HY000): Column count of mysql.user is wrong. Expected 45, found 42. Created with MySQL 50556, now running 50722. Please use mysql_upgrade to fix this error.错误是由于你曾经升级过数据库,升级完后没有使用mysql_upgrade升级数据结构造成的。

    解决办法:使用mysql_upgrade命令

    root@localhost ~]# mysql_upgrade -u root -phwg123

    3,MySQL5.7.22数据库安装完后更改密码;

    [root@ ~]# cat /var/log/mysqld.log | grep password
    [root@ ~]# mysql -uroot -pRir.*sJUX6M*

    进入mysql后需要改全局变量。要不然你设置的密码要符合密码复杂度。

    mysql> set global validate_password_policy=0;
    [root@zabbixserver ~]# systemctl restart mysqld
    [root@zabbixserver ~]# mysql -uroot -pRir.*sJUX6M*
    mysql> ALTER USER USER() IDENTIFIED BY '12345678';

    或者是这个样子:

    mysql> ALTER USER USER() IDENTIFIED BY 'Pass123!';

  • 相关阅读:
    将一个单向链表逆序
    高精度加法
    从反汇编的角度看引用和指针的区别
    冒泡排序
    josephus(约瑟夫)问题
    获取每个进程可打开的最大文件数量
    AIX免费终端的获取
    [转] Linux应用层的定时器Timer
    POD(plain old data)
    char与wchar_t的区别
  • 原文地址:https://www.cnblogs.com/oneasdf/p/9455563.html
Copyright © 2011-2022 走看看