• 如何修改mysql root密码


    如何修改mysql root密码
      忘记MySQL ROOT密码是在MySQ使用中很常见的问题,可是有很多朋友并不会重置ROOT密码,那叫苦啊,特写此文章与大家交流:

    1、编辑MySQL的配置文件:my.ini
    一般在MySQL安装目录下有my.ini即MySQL的配置文件。
    在此配置文件的最后添加如下一行:
    skip-grant-tables
    保存退出编辑。

    2、然后重启MySQL服务
    在命令行下执行:
    net stop MySQL
    net start MySQL

    3、设置新的ROOT密码
    然后再在命令行下执行:
    MySQL -u root -p MySQL或mysql -u root -p
    直接回车无需密码即可进入数据库了。
    此时,在命令行下执行 use mysql;
    现在我们执行如下语句把root密码更新为:
    update user set password=PASSWORD("root") where user='root';
    (注意:此时不用使用mysqladmin -u root -p password '你的新密码'这条命令修改密码,因为'skip-grant-tables'配置,
    不信的话,你可以试用一下,它肯定会报如下所示的错误:
    F:\Documents and Settings\long>mysqladmin -u root -p password 'root'
    Enter password:
    Warning: single quotes were not trimmed from the password by your command
    line client, as you might have expected.
    mysqladmin:
    You cannot use 'password' command as mysqld runs
     with grant tables disabled (was started with --skip-grant-tables).
    Use: "mysqladmin flush-privileges password '*'" instead)
    exit 退出MySQL。

    4、还原配置文件并重启服务

    然后修改MySQL配置文件把刚才添加的那一行'skip-grant-tables'删除。
    再次重起MySQL服务,密码修改完毕。
    用新密码root试一下吧,又能登入重新进入mysql了?



    附mysql修改密码的一些方法:
    1. 用MYSQL的grant语句,例如
    mysql -h hostname –u root 命令登录到mysqld server 用grant 命令改变口令: 
    mysql -h 192.168.1.101 -u root 
    上边的192.168.1.101 是偶的mysqld 运行机器,你换成自己的,这样登录上去,就可以修改密码了,
    其实没必要这么麻烦,直接mysql -u root就可以了。 
    GRANT ALL ON *.* TO 'root'@'localhost' IDENTIFIED BY 'root' WITH GRANT OPTION 

    2. mysqladmin -u 用户名 -p 旧密码 password 新密码 
    例1:给root 加个密码root。首先进入cmd中,然后键入 
    以下命令,至于在CMD下能否使用mysqladmin,
    就要看你的Windows环境变量PATH中是否添加“E:\Program Files\MySQL\MySQL Server 5.1\bin;”(请改为你自己的安装路径)了。)
    mysqladmin -u root password root 
    注:因为开始时root 没有密码,所以-p 旧密码一项就可以省略了。
    例2:再将root 的密码改为admin。 

    mysqladmin –u root -proot password admin(注意-p 不要和后面的密码分 
    开写,要写在一起,不然会出错,错误如下所示:
    F:\Documents and Settings\long>mysqladmin -u root -p root password admin
    Enter password: ****
    mysqladmin: Unknown command: 'root') 
    当然你也可以这样写:mysqladmin –u root -p password admin回车,
    然后再输入你的旧密码,这样也是完全也可以的,看你的爱好了.
    例3:再将root用户的密码去掉.
    F:\Documents and Settings\long>mysqladmin -u root -p password  ;
    Enter password: root
    此时,root用户又没有密码了.可以通过下面的方法设置:
    F:\Documents and Settings\long>mysql -u root
    mysql>set password for 'root'@'localhost'=password('root');(语法:SET PASSWORD FOR '用户名'@'主机' = PASSWORD('密码'))
    mysql>set password for 'root'@'%'=password('root'); 
    //本条可选,这是在配置mysql数据库,如果你选择了允许root通过远程登录进来时,你在mysql数据库下的user表中,
    use mysql;
    select * from user;可以看到有两条记录,如果你没有配置这一项的话,只会第一条记录!
    Host                    User     Password
    'localhost', 'root', '*9C9F4927129ECC3209D8550DC8B67156FDBF9418', ...
    '%', 'root', '*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B', ...
    通过以上设置,root的密码将变为root这样就完成了根用户root密码的设置工作。

    3. use mysql;
     update user set password =password('yourpass') where user='root' 

    (注:下面的这些方法我本人没有试过,不知对不对,我只是转载了一下:)
    下面的方法都在mysql提示符下使用,且必须有mysql的root权限: 
    方法4 
    mysql> INSERT INTO mysql.user (Host,User,Password) 
    VALUES('%','jeffrey',PASSWORD('biscuit')); 
    mysql> FLUSH PRIVILEGES 
    确切地说这是在增加一个用户,用户名为jeffrey,密码为biscuit。 
    在《mysql中文参考手册》里有这个例子,所以我也就写出来了。 
    注意要使用PASSWORD函数,然后还要使用FLUSH PRIVILEGES。 

    方法5 
    和方法三一样,只是使用了REPLACE语句 
    mysql> REPLACE INTO mysql.user (Host,User,Password) 
    VALUES('%','jeffrey',PASSWORD('biscuit')); 
    mysql> FLUSH PRIVILEGES 

    方法6
    使用SET PASSWORD语句, 
    mysql> SET PASSWORD FOR jeffrey@"%" = PASSWORD('biscuit'); 
    你也必须使用PASSWORD()函数, 
    但是不需要使用FLUSH PRIVILEGES。 


    方法7 
    使用GRANT ... IDENTIFIED BY语句 
    mysql> GRANT USAGE ON *.* TO jeffrey@"%" IDENTIFIED BY 'biscuit'; 
    这里PASSWORD()函数是不必要的,也不需要使用FLUSH PRIVILEGES。
  • 相关阅读:
    关于如何使`(a === 1 && a === 2 && a === 3)`返回`true`问题的思考
    选择适合的类型判断方式
    this的指向问题
    MarkDown基础语法记录
    快速掌握vuex状态管理
    自己如何手动实现一个isNaN的方法
    移动端webapp使用flex布局解决底部导航被手机键盘顶起
    swiper文字内容超出一屏的时候如何实现区域滚动不翻页
    css3动画如何实现停止以后停留在最后一帧动画
    检测任意数据类型
  • 原文地址:https://www.cnblogs.com/smileallen/p/3391553.html
Copyright © 2020-2023  润新知