access denied for user root localhost,can not connect to mysql server access denied for user 'root'@'localhost' (u
access denied for user root localhost,can not connect to mysql server access denied for user 'root'@'localhost' (u详细介绍
本文目录一览: Access denied for user 'root'@'localhost' (using password: YES)
解决方案:
1、打开MySQL目录下的my.ini文件,在文件的最后添加一行“skip-grant-tables”,保存并关闭文件。
2、重启MySQL服务。
3、在命令行中输入“mysql -uroot -p”(不输入密码),回车即可进入数据库。
4、执行,“use mysql;”使用mysql数据库。
5、执行,“update user set password=PASSWORD("rootadmin") where user='root';”(修改root的密码)
(期间我还select下user表中的记录,查询全部的时候显示了一些乱码,然后我只查询了user表中的Host、User、Password字段,貌似当时显示了3条记录,有1个没有名称。当然,为了解决问题,这些我也管不了了。)
6、打开MySQL目录下的my.ini文件,删除最后一行的“skip-grant-tables”,保存并关闭文件。
7、重启MySQL服务。
8、在命令行中输入“mysql -uroot -prootadmin”,问题搞定。
未给localhost root用户授权,新建一个localhost root用户,然后授权给他
create user 'root'@'localhost' identified by '你的密码';
grant all privileges on *.* to root@'localhost';
运行这两句sql语句后试下
如果你能登陆到数据库所在的服务器,那么可以尝试这个方法:
Windows下的实际操作如下
1.关闭正在运行的MySQL。
2.打开DOS窗口,转到mysql\bin目录。
3.输入mysqld --skip-grant-tables回车。如果没有出现提示信息,那就对了。
4.再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录。
5.输入mysql回车,如果成功,将出现MySQL提示符 <
6. 连接权限数据库
<use mysql; (<是本来就有的提示符,别忘了最后的分号)
6.改密码:< update user set password=password("520") where user="root"; (别忘了最后的分号)
7.刷新权限(必须的步骤)
<flush privileges;
8.退出 < \q
9.注销系统,再进入,开MySQL,使用用户名root和刚才设置的新密码登陆。
在Mysql的安装文件里面有个mysql的库,这是个系统库,安里面有一个user表,user表里面用username与host做双主键,
如果这张表中没有root,localhost这一行字段,那么你这个用户是无权限登陆进localhost,root也不例外,
但是默认情况下是有这个字段的,所以肯定是你安装失败,或者有人把你这张表里面的相应的这行给删掉了(mysql在你删掉系统表里不会提示,就是你删掉mysql这个系统库也不会提示)
所以最简单的做法就是替换你的mysql库,找到一个可用的mysql库,直接把里面的内容copy过来就OK了
2楼的做法实际上就是在user表里面加上了root,localhost这一条记录
我空间有相应的文章,你可以看下
重新启动一下mysql
linux下的一般做法是
比如说mysql安装在/usr/local/mysql
/usr/local/mysql/bin/mysqld_safe --skip-grant-tables
这样启动后,你可以直接用mysql -uroot
登录进去之后
GRANT ALL PRIVILEGES on *.* to 'root'@'localhost' identified by '密码';
错误1045(28000):用户'root'@'localhost'(使用密码:YES)拒绝访问
首先解析此英文:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES);解析的地方有两处:①Access denied(拒绝访问);②using password:NO/YES
出现access denied的原因有如下可能:
1)mysql的服务器停止
2)用户的端口号或者IP导致
3)mysql的配置文件错误----my.ini等文件
4)root用户的密码错误
若MySQL已经没有启动,重启MySQL服务器:net start mysql
若用户的端口号与IP(3306/3307)不一致,打开my.ini文件进行编辑。全部编辑替换为: port=X
my.ini文件误输入无效内容,不知道到何处。复制替换该文件;有人已经对my.ini文件进行解释以及注释
root用户密码错误, 解决方案见下文
出现 using password的原因如下是:
不键入密码:
错误的密码:
解决方案:
到安装的MySQL的目录下,找my.ini文件;
在[mysqld]后添加skip-grant-tables(使用 set password for设置密码无效,且此后登录无需键入密码)
skip-grant-tables #在my.ini,[mysqld]下添加一行,使其登录时跳过权限检查
尽量少操作
重启MySQL服务器。
登录mysql,键入mysql –uroot –p;直接回车(Enter)
键入无效set password for ‘root’@‘localhost’=password(‘123456’);
在my.ini文件添加从此后无需键入密码
再把my.ini的skip-grant-tables删除,然后重启MySQL服务器:net stop mysql ;net start mysql;
再次进行设置密码:set password for ‘root’@‘localhost’=password(‘123456’);
设置密码成功。。。
注:skip-name-resolv #禁止MySQL对外部连接进行DNS解析,使用这一选项可以消除MySQL进行DNS解析的时候。但是需要注意的是,如果开启该选项,则所有远程主机连接授权都要使用IP地址方式了,否则MySQL将无法正常处理连接请求!
SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES)
如果用的是mysql数据库:
检查数据库是否设置了密码,如果没设置进入mysql控制台使用下面的命令设置密码:
update mysql.user set password = PASSWORD('123456') where password = '';
flush privileges;
2. 确保密码正确
SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES),是数据库错误造成的,解决方法如下:
1、首先需要更改root的权限远程的访问的权限,进行进入到自己数据库之后,进入mysql数据库中:use mysql。
2、进行执行update user set host='%' where user='root' 的命令进行执行。
3、执行了相关的命令之后,还是需要进行执行的flush privileges的命令。
4、还需要进行修改的是在etc/sysconfig/selinux进行编辑SELINUX=disabled中。
5、设置完成之后还是需要进行重启Linux,在访问之后,不再显示错误的内容。
连接数据库失败:Access denied for user 'root'@'localhost' (using password: YES)
1、检查环境正常
使用mysql -u root -p 可以进入MySQL操作界面
直接使用/usr/local/php5/bin/php /web/test.php执行可以连上数据库
2、打开hosts加入
复制代码代码如下:127.0.0.1 qttc
使用qttc当主机连接也正常,唯独就不认localhost。
3、localhost连接方式不同导致
为了了解PHP连接数据库时,主机填写localhost与其它的区别阅读了大量资料,最后得知:
当主机填写为localhost时mysql会采用 unix domain socket连接当主机填写为127.0.0.1时mysql会采用tcp方式连接这是linux套接字网络的特性,win平台不会有这个问题
4、解决方法
在my.cnf的[mysql]区段里添加
复制代码代码如下:
protocol=tcp
保存重启MySQL,问题解决!
1. kill mysql进程
2.把下面这段保存在一个文件中,然后给任何人读写的权限。123456 是自己设的密码:
UPDATE mysql.user
SET authentication_string = PASSWORD('123456'), password_expired = 'N'
WHERE User = 'root' AND Host = 'localhost';
FLUSH PRIVILEGES;
3.输入一下命令:yourfile是你的文件的完全路径
mysqld_safe --init-file=yourfie &
4.以后应该就可以 用root 的账号和密码登录了。
数据库没开远程连接,一般禁止远程访问,让你们运维开启即可
可以使用具体ip访问mysql服务器 grant all privileges on *.* to username@"%" identified by "password";
mysql -u username -p passwowrd
几个可能:
1. 用户名、密码错误,所以无法访问
2. 数据库端设置了IP访问权限,不能用localhost访问。换成具体的IP地址试试。
3. 数据库端设置了相关操作权限,该用户没有create权限。
mysql -u root -p
mysql>use mysql;
mysql>select 'host' from user where user='root';
mysql>update user set host = '%' where user ='root';
mysql>flush privileges;
mysql>select 'host' from user where user='root';
第一句是以权限用户root登录
第二句:选择mysql库
第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址
第五句:刷新MySQL的系统权限相关表
第六句:再重新查看user表时,有修改。。
重起mysql服务即可完成。
can not connect to mysql server access denied for user 'root'@'localhost' (u
一个比较恐怖的办法,把你的数据库root帐号的登录限制去掉。
不用重装,问题是需要修改数据库的密码,数据库几乎是和你的系统相对独立的,所以你不必担心论坛那边,专心弄数据库就好了
希望你知道现在数据库的密码,如果你不知道,上网搜一下找回mysql遗忘的密码的方法,看看是否有结果,如果你知道密码,那么就简单了.见下:
论坛config.inc.php文件内 底部有这么一段代码,"//"后面的字为注释,就是解释前面文字的作用的,"// UCenter 数据库密码"前面的代码就是设置数据库密码的,你可以在第二个''的中间填上你数据库现在的密码(之所以''之间没有任何文字,代表的是数据库没有密码的意思,既然你的数据库有密码,那么就必须填写了)
// 数据库相关 (mysql 连接时)
define('UC_DBHOST', 'localhost');// UCenter 数据库主机
define('UC_DBUSER', 'root');// UCenter 数据库用户名
define('UC_DBPW', '');// UCenter 数据库密码
define('UC_DBNAME', 'uc');// UCenter 数据库名称
define('UC_DBCHARSET', 'gbk');// UCenter 数据库字符集
基本上就这些,如果你还有问题,我19号2点以前会再看一次这个帖子,希望你补充
Access denied for user 'root'@'localhost' (using password:YES)
这个问题原因是root用户密码失效。
解决办法是重新设置root用户密码,在Windows平台下操作步骤如下:
1、以系统管理员身份登录到系统;
2、如果MySQL服务器正在运行,停止它。
如果是作为Windows服务运行的服务器,进入服务管理器:开始菜单->控制面板->管理工具->服务
如果服务器不是作为服务而运行的,可能需要使用任务管理器来强制停止它。
3、创建1个文本文件,并将下述命令置于单一行中:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
用任意名称保存该文件。在本例中,该文件为C:mysql-init.txt。
4、进入DOS命令提示:开始菜单->运行-> cmd
假定你已将MySQL安装到C:mysql。如果你将MySQL安装到了另一位置,请对下述命令进行相应的调整。
在DOS命令提示符下,执行命令:
C:> C:mysqlbinmysqld-nt --init-file=C:mysql-init.txt
在服务器启动时,执行由“--init-file”选项(作用:在启动时从指定的文件中读取SQL命令)命名的文件的内容,更改根用户密码。当服务器成功启动后,应删除C:mysql-init.txt。
5、停止MySQL服务器,然后在正常模式下重启它。如果以服务方式运行服务器,应从Windows服务窗口启动它。如果以手动方式启动了服务器,能够像正常情形下一样使用命令。
应能使用新密码进行连接。
连接mysql数据库时报错:Access denied for user 'root'@'localhost' (using password: NO)
几个可能:
1. 用户名、密码错误,所以无法访问
2. 数据库端设置了IP访问权限,不能用localhost访问。换成具体的IP地址试试。
3. 数据库端设置了相关操作权限,该用户没有create权限。
mysql -u root -p
mysql>use mysql;
mysql>select 'host' from user where user='root';
mysql>update user set host = '%' where user ='root';
mysql>flush privileges;
mysql>select 'host' from user where user='root';
第一句是以权限用户root登录
第二句:选择mysql库
第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址
第五句:刷新MySQL的系统权限相关表
第六句:再重新查看user表时,有修改。。
重起mysql服务即可完成。
错误提示的信息显示你连接数据库的帐号没有密码。
如果你的账号和密码都没有错的话,你应该把你报错的那个数据库删除连接,然后在重新新建连接,输入正确的密码就好了。我也遇到此问题,已解决
如果密码没有错误,那就是你没有开通访问权限,要去mysql库中的user表中增加相应的权限。
access denied for user 'root' ''@'localhost'(using password :YES)
access denied for user 'root' ''@'localhost'(using password :YES)
意思是:用户root登录被拒绝
分析:应该是用户密码不正确造成的,连续三次密码错误就会出现这个提示。
解决方法:重试,输入正确的密码。
这是什么意思:Access denied for user:'root@localhost' (Using Password:Yes)
一、若是在安装过程中出现这样的错误提示,请确认你输入的数据库服务器,用户名和密码是否正确。一般情况下数据库为localhost,除非远程连接数据
二、若在运行中出现这样的错误提示,可能是由于数据库的用户名,密码等一些资料被修改,可到data/sql_config.php里进行设置,保存后再运行。
三、请检查mysql是否停止服务。
mysql5.7.12报错:Access denied for user 'root'@'localhost' (using password: YES) 无法连接数据库
解决了没有?我这个也是这样的问题,密码也没问题,权限也没问题,可是就是连接不上mysql,我一个新手学习,搞了好几天了,好心累,不知道数据库是不是坏了?还是电脑坏了?
1. kill mysql进程
2.把下面这段保存在一个文件中,然后给任何人读写的权限。123456 是自己设的密码:
UPDATE mysql.user
SET authentication_string = PASSWORD('123456'), password_expired = 'N'
WHERE User = 'root' AND Host = 'localhost';
FLUSH PRIVILEGES;
3.输入一下命令:yourfile是你的文件的完全路径
mysqld_safe --init-file=yourfie &
4.以后应该就可以 用root 的账号和密码登录了。
可以使用具体ip访问mysql服务器 grant all privileges on *.* to username@"%" identified by "password";
mysql -u username -p passwowrd
几个可能:
1. 用户名、密码错误,所以无法访问
2. 数据库端设置了IP访问权限,不能用localhost访问。换成具体的IP地址试试。
3. 数据库端设置了相关操作权限,该用户没有create权限。
mysql -u root -p
mysql>use mysql;
mysql>select 'host' from user where user='root';
mysql>update user set host = '%' where user ='root';
mysql>flush privileges;
mysql>select 'host' from user where user='root';
第一句是以权限用户root登录
第二句:选择mysql库
第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址
第五句:刷新MySQL的系统权限相关表
第六句:再重新查看user表时,有修改。。
重起mysql服务即可完成。
1.可能密码不对。
错误原因:可能是用户名或密码不对,或者权限不够;
解决方法:检查用户名和密码以及权限,然后再连接。
2.本地连接,密码权限都对,但是无法连接。
错误原因:数据库本地连接默认使用的是/tmp/mysql.sock去连接数据库的,如果数据库的sock文件不是/tmp/mysql.sock,客户端找不到这个文件就报错。
解决方法:找到数据库用的sock文件,然后使用-S参数让客户端使用这个文件,或者是在my.cnf中的[client]下面添加socket配置使其和实际的一样。
参考资料
CSDN.CSDN[引用时间2018-1-9]
asp.net网站连接MYSQL 提示 Access denied for user 'root'@'localhost' (using password: YES)
这个是数据库连接的问题,一般是Mysql的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”,即可成功连接数据库。
用mysql
账号连接
>mysql
-uroot
-proot
//使用超级管理员账号连接mysql数据库
>use
mysql
//切换到mysql数据库
>select
host
from
user;
//查看user用户表中host字段是否是%,如果不是,改成%
>update
user
set
host='%';
进入mysql的安装的bin目录
我的是:c:\program
files\mysql\mysql
server
5.0\bin
Access denied for user 'root'@'localhost' (using password: YES)怎么解决
您好,数据库信息不正确,去你空间的后台查看数据库信息,把安装的时候把数据库名,数据库用户名和数据库密码填写清楚就可以了
解决方案:
1、打开MySQL目录下的my.ini文件,在文件的最后添加一行“skip-grant-tables”,保存并关闭文件。
2、重启MySQL服务。
3、在命令行中输入“mysql -uroot -p”(不输入密码),回车即可进入数据库。
4、执行,“use mysql;”使用mysql数据库。
5、执行,“update user set password=PASSWORD("rootadmin") where user='root';”(修改root的密码)
(期间我还select下user表中的记录,查询全部的时候显示了一些乱码,然后我只查询了user表中的Host、User、Password字段,貌似当时显示了3条记录,有1个没有名称。当然,为了解决问题,这些我也管不了了。)
6、打开MySQL目录下的my.ini文件,删除最后一行的“skip-grant-tables”,保存并关闭文件。
7、重启MySQL服务。
8、在命令行中输入“mysql -uroot -prootadmin”,问题搞定。