linux系统ubuntu环境下修改MySQL (V5.7.18)的密码

来源:互联网 发布:win7人工智能 编辑:程序博客网 时间:2024/05/19 03:24

1、软件版本

   

  Ubuntu/LinaroV12.04.2        LinuxV3.5.0-23-generic      MySQLV 5.7.18


2、问题的由来

         linux环境下安装V5.7以上版本的MySQL过程中,系统会自动分配一个用户密码。在首次使用MySQL时,先启动MySQLsudo service mysql start),接着进入MySQLmysql  -uroot -p自动分配的密码),然后再进行其他操作时,比如查看数据库(show databases)会出现以下错误:



       错误信息ERROR 1820HY000):You must resetyour password using ALTER USER statement before executing this statement.(错误:在执行这条语句之前,必须采用ALTER USER声明来重置密码)也就是说在首次使用MySQL时必须先把安装时系统随机分配的密码重置。


3解决方法

       

      网上关于修改MySQL密码的帖子的做法——在MySQL内依次输入以下命令:

       (1) use mysql;

      (2)update user set password = password("新密码") where user = 'root';

      但是5.7以上版本的MySQL在输入第一条命令时就会报出“2、问题由来”中的错误。

       解决方案:在MySQL内采用命令命令来修改密码。命令格式:alter user 用户名’ identified by ‘新密码’;。比如要把用户’root’的密码修改为’xxxxxxx’可以采用如下命令:alter user 'root'@'localhost' identified by 'xxxxxxx'; ,其中’xxxxxxx’是新密码。Query OK,表明密码修改成功。


      网络上流传很广的另外一种修改密码的方法:

       (1)使用MySQLuse mysql;

      (2)修改密码:update user set password = password("新密码") where user = 'root';

       在实际应用时会报错:ERROR 1504(42S22):Unknown column 'password' in 'field list' (字段表里没有’password’)。


        错误原因:MySQL数据库中已经没有password这个字段了,把password字段改为  authentication_string即可。

原创粉丝点击