首页 > 技术文章 > MYSQL问题解决方案:Access denied for user 'root'@'localhost' (using password:YES)

xiaoL 2018-03-20 13:52 原文

 这两天在MyEclipse中开发Web项目时,连接MySQL数据库,出现问题:Access denied for user 'root'@'localhost' (using password:YES)。

        经查找资料发现是root帐户默认不开放远程访问权限,所以需要修改一下相关权限。

      解决方案:
  1. 打开MySQL目录下的my.ini文件,在文件的最后添加一行“skip-grant-tables”,保存并关闭文件。(WIN7默认安装,my.ini在C:\ProgramData\MySQL\MySQL Server 5.6)
  2. 重启MySQL服务。
  3. 通过命令行进入MySQL的BIN目录,输入“mysql -u root -p”(不输入密码),回车即可进入数据库。(WIN7默认安装,BIN目录为:C:\Program Files\MySQL\MySQL Server 5.6\bin)
  4. 执行“use mysql;”,使用mysql数据库。
  5. 执行“update user set password=PASSWORD("123456") where user='root';”(修改root的密码)
  6. 打开MySQL目录下的my.ini文件,删除最后一行的“skip-grant-tables”,保存并关闭文件。
  7. 重启MySQL服务。
  8. 在命令行中输入“mysql -u root -p 123456”,即可成功连接数据库。

      完成以上步骤,MyEclipse也可成功连接mysql了。

 

 

 

各个平台的mysql重启命令

linux平台及windows平台mysql重启方法

  Linux下重启MySQL的正确方法:

  1、通过rpm包安装的MySQL

  service mysqld restart

  2、从源码包安装的MySQL

  // linux关闭MySQL的命令

  $mysql_dir/bin/mysqladmin -uroot -p shutdown

  // linux启动MySQL的命令

  $mysql_dir/bin/mysqld_safe &

  其中mysql_dir为MySQL的安装目录,mysqladmin和mysqld_safe位于MySQL安装目录的bin目录下,很容易找到的。

  3、以上方法都无效的时候,可以通过强行命令:“killall mysql”来关闭MySQL,但是不建议用这样的方式,因为这种野蛮的方法会强行终止MySQL数据库服务,有可能导致表损坏

  步骤或方法:RedHat Linux (Fedora Core/Cent OS)

  1.启动:/etc/init.d/mysqld start

  2.停止:/etc/init.d/mysqld stop

  3.重启:/etc/init.d/mysqld restart

  Debian / Ubuntu Linux

  1.启动:/etc/init.d/mysql start

  2.停止:/etc/init.d/mysql stop

  3.重启:/etc/init.d/mysql restart

  Windows

  1.点击“开始”->“运行”(快捷键Win+R)。

  2.启动:输入 net stop mysql

  3.停止:输入 net start mysql

  提示* Redhat Linux 也支持service command,启动:# service mysqld start 停止:# service mysqld stop 重启:# service mysqld restart

  * Windows下不能直接重启(restart),只能先停止,再启动。

  MySQL启动,停止,重启方法:

  一、启动方式

  1、使用 service 启动:service mysqld start

  2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start

  3、使用 safe_mysqld 启动:safe_mysqld&

  二、停止

  1、使用 service 启动:service mysqld stop

  2、使用 mysqld 脚本启动:/etc/inint.d/mysqld stop

  3、mysqladmin shutdown

  三、重启

  1、使用 service 启动:service mysqld restart

  2、使用 mysqld 脚本启动:/etc/inint.d/mysqld restart

 

推荐阅读