mysql—Access denied for user 'root'@'localhost' (using password:NO)

安装mysql未设置初始密码,登录提示Access denied for user 'root'@'localhost' (using password:NO):

解决方案:

   sudo /etc/init.d/mysqld stop      //关闭mysql

       mysqld_safe --user=mysql --skip-grant-tables --skip-networking &    

----------------------------------------------------------------------------------------

mysqld_safe命令在启动mysql,更新root账号的密码

--skip-grant-tables:不启动grant-tables(授权表),跳过权限控制。

--skip-networking :跳过TCP/IP协议,只在本机访问(从网上有些资料看,这个选项不是必须的。可以不用)

----------------------------------------------------------------------------

  打开新的命令窗口

       mysql -u root mysql

       mysql> UPDATE user SET Password=PASSWORD('你想要的密码') where USER='root';

       mysql> FLUSH PRIVILEGES;   //刷新权限

   另外,如果登录mysql数据库后执行脚本遭遇 ERROR 1820 (HY000): You must SET PASSWORD before executing this statement,可以使用重新设置一次密码即可解决问题.

   mysql>set password = password('p12#456'); 
posted @ 2016-08-29 15:21  muzi1994  阅读(286)  评论(0编辑  收藏  举报