access denied for user to database,linux数据库连接不上,什么原因 提示Access denied for user ''@'localhost' to database
access denied for user to database,linux数据库连接不上,什么原因 提示Access denied for user ''@'localhost' to database详细介绍
本文目录一览: mysql中“输入命令 show databases;”后不能显示mysql ,且create database命令提示出错
从你show databases命令来看。你的mysql登录用户有问题。报错显示当前用户没有相应权限。
Access denied for user ''@'localhost' to database 'xyz'这句话表示权限阻止,也就是说当前用户没有相应的权限,解决方法:以管理员身份登录,或者联系管理员对该用户进行相关权限管理,提升相应权限即可。
上传数据库文件 提示#1044 - Access denied for user 'tpxxxx'@'%' to database 'ecs_' 怎么解决啊?
检查权限 show grants for 那个用户 ,看看有没有information_schema库权限。没有的话用grant授权。
\wwwroot\inc\Const.asp
数据bai库连接类型,True为Access,False为MSSQL
Dim Sdcms_DataType:Sdcms_DataType=True
'Access数据库目录
Dim Sdcms_DataFile:Sdcms_DataFile="Data"
'Access数据库名称
Dim Sdcms_DataName:Sdcms_DataName="../../database/# pq_com.mdb"
'MSSQL数据库IP,本地用(local) 外地用IP
Dim Sdcms_SqlHost:Sdcms_SqlHost="(local)"
'MSSQL数据库名
Dim Sdcms_SqlData:Sdcms_SqlData="sdcms"
'MSSQL数据库帐户
Dim Sdcms_SqlUser:Sdcms_SqlUser="sa"
'MSSQL数据库密码
Dim Sdcms_SqlPass:Sdcms_SqlPass="123456"
这里的设置是access数据库
# pq_com.mdb 这个文件是不存在的
扩展资料:
数据库管理系统是为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能。
数据库管理系统可以依据它所支持的数据库模型来作分类,例如关系式、XML;或依据所支持的计算机类型来作分类,例如服务器群集、移动电话;或依据所用查询语言来作分类,例如SQL、XQuery;或依据性能冲量重点来作分类,例如最大规模、最高运行速度;亦或其他的分类方式。不论使用哪种分类方式,一些DBMS能够跨类别,例如,同时支持多种查询语言。
参考资料来源:百度百科-数据库
MySQL ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql
你的mysql服务可能 被杀毒软件什么的干掉了,重新安装一遍吧希望help you。reference365testing,测评网,51cto
没写用户名吧
mysql -u root -p
问题:
mysql> use mysql
ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'
解决方法:
打开my.ini(linux下时my.cnf),在
[mysqld]
skip-external-locking
skip-name-resolve
#skip-grant-tables
其中skip-grant-tables跳过权限验证是被注释掉的,去掉注释,(如果没有这几句,加进去)重新启动mysql。
access denied for user ''@'localhost to database to 'mysql'
恢复mysql 中root 用户的所有权限1.先进入管理员权限的dos窗口2.net stop mysql 停止mysql服务3.输入 mysqld --skip-grant-tables4.另起一个cmd窗口,输入mysql -u root -p5.提示输入密码时,直接回车跳过,此时已经进入mysql6.然进入mysql数据库下面的user表,输入 UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';7.刷新缓冲区 FLUSH PRIVILEGES;8.执行 GRANT ALL ON *.* TO 'root'@'localhost';9.查看localhost下的用户权限都为Y,select * from mysql.user\G 解决!!!!
Access denied for user ''@'localhost' to database
我在Suse Linux 10.2下用自带光盘用Yast2安装Mysql 5.0, 装好后在终端输入mysql, mysql
成功启动,退出,再输入 mysqladmin -u root password XXXXX, 出现错误: mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
如先输入mysql,成功启动后输入use mysql,出现如下错误:Access denied for user ''@'localhost' to database 'mysql'
还有,输mysql可以,输mysql -u root就出错了:
Access denied for user 'root'@'localhost' (using password: NO).
Access denied for user 'smuinfo'@'%' to database 'main' 错误 求高人指点
Mysql的用户名和密码错你需要创建MYSQL数据库和用户名密码,并分配权限
可能是新建用户的原因,可以看数据库对不对,就是连接池database中的url后缀对不对
linux数据库连接不上,什么原因 提示Access denied for user ''@'localhost' to database
明显是没写用户名啊, user 后面的引号里是空的,看看用户名和密码都指定了吗
看看是不是密码错了,如果没错那就是 没开通访问权限,去mysql库中的user表中增加相应的权限!纯手打,望采纳!
Access denied for user ''@'localhost' to database
提示你输入用户名称的时候,加上@localhost
MySQL的问题:不到问题,怎么解决
一、Can’t connect to MySQL server on ‘localhost’ (10061)
翻译:不能连接到 localhost 上的mysql
分析:这说明“localhost”计算机是存在的,但在这台机器上却没提供MySQL服务。
需要启动这台机器上的MySQL服务,如果机子负载太高没空相应请求也会产生这个错误。
解决:既然没有启动那就去启动这台机子的mysql。如果启动不成功,多数是因为你的my.ini配置的有问题。重新配置其即可。
如果觉得mysql负载异常,可以到mysql/bin 的目录下执行mysqladmin -uroot -p123 processlist来查看mysql当前的进程。
二、Unknown MySQL Server Host ‘localhosadst’ (11001)
翻译:未知的MySQL服务器 localhosadst
分析:服务器 localhosasdst 不存在。或者根本无法连接
解决:仔细检查自己论坛下面的 ./config.inc.php 找到$dbhost重新设置为正确的mysql 服务器地址。
三、Access denied for user: ‘roota@localhost’ (Using password: YES)
翻译:用户 roota 访问 localhost 被拒绝(没有允许通过)
分析:造成这个错误一般数据库用户名和密码相对mysql服务器不正确
解决:仔细检查自己论坛下面的 ./config.inc.php 找到$dbuser、$dbpw核实后重新设置保存即可。
四、Access denied for user: ‘red@localhost’ to database ‘newbbs’
翻译:用户 red 在localhost 服务器上没有权限操作数据库newbbs
分析:这个提示和问题三是不同的。那个是在连接数据库的时候就被阻止了,而这个错误是在对数据库进行操作时引起的。比如在select update等等。这个是因为该用户没有操作数据库相应的权力。比如select 这个操作在mysql.user.Select_priv里记录 Y 可以操作N 不可以操作。
解决:如果是自己的独立主机那么更新mysql.user 的相应用户记录,比如这里要更新的用户为red 。或者直接修改 ./config.inc.php 为其配置一个具有对数据库操作权限的用户
或者通过如下的命令来更新授权grant all privileges on dbname.* to ‘user’@’localhost’ identified by ‘password’
提示:更新了mysql库中的记录一定要重启mysql服务器才能使更新生效
FLUSH PRIVILEGES;
五、No Database Selected
翻译:没有数据库被选择上
分析:产生的原因有两种
config.inc.php 里面$dbname设置的不对。致使数据库根本不存在,所以在 $db->select_db($dbname); 时返回了false
和上面问题四是一样的,数据库用户没有select权限,同样会导致这样的错误。当你发现config.inc.php的设置没有任何问题,但还是提示这个错误,那一定就是这种情况了。
解决:对症下药
打开config.inc.php 找到$dbname核实重新配置并保存
同问题四的解决方法
六、Can’t open file: ‘xxx_forums.MYI’. (errno: 145)
翻译:不能打开xxx_forums.MYI
问题分析:
这种情况是不能打开 cdb_forums.MYI 造成的,引起这种情况可能的原因有:
1、服务器非正常关机,数据库所在空间已满,或一些其它未知的原因,对数据库表造成了损坏。
2、类 unix 操作系统下直接将数据库文件拷贝移动会因为文件的属组问题而产生这个错误。
解决方法:
1、修复数据表
可以使用下面的两种方式修复数据表:(第一种方法仅适合独立主机用户)
1)使用 myisamchk ,MySQL 自带了专门用户数据表检查和修复的工具 —— myisamchk 。更改当前目录到 MySQL/bin 下面,一般情况下只有在这个下面才能运行 myisamchk 命令。常用的修复命令为:myisamchk -r 数据文件目录/数据表名.MYI;
2)通过 phpMyAdmin 修复, phpMyAdmin 带有修复数据表的功能,进入到某一个表中后,点击“操作”,在下方的“表维护”中点击“修复表”即可。
注意:以上两种修复方式在执行前一定要备份数据库。
MySQL密码正确却无法本地登录怎么办
MySQL root密码正确,却怎么也无法从本地登录MySQL,提示
1 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
这里后来经高人指点才发现mysql库中的user表缺少一个root指向host:localhost的数据项,只有一个root指向host:主机名的数据项,故怎么也无法利用root账户登录MySQL。
总结一点就是root账户缺失了访问localhost主机的账户信息,导致无法本地登录。
那有什么办法恢复root登录呢?
这里记录一下今天遇到的纠结事情:
首先kill掉MySQL进程然后在启动mysql的参数中加入
--skip-grant-tables
会发现这时无密码就可以登录mysql了。
当然我们还必须修复root账户丢失的数据项。
这里有两种解决方案:
第一种是因为root账户初始的时候有3条记录,包含root对应localhost,hostname,127.0.0.1三条账户数据,我们可以update host为其他两项中一项为localhost即可。
第二种是直接insert一条记录,host为localhost即可
总结一下:即使root的host包含了主机名,127.0.0.1那么依然是无法正常登录的,这里必须要有localhost的host才行。
如果上面办法还是无法正常登录我们可尝试另一种办法
在本地用mysql命令直接回车可以进入mysql,但是里面只有test和information_schema数据库,没有mysql等数据库,使用use mysql报如下错:
mysql> use mysql
ERROR 1044 (42000): Access denied for user "@'localhost' to database 'mysql'
意思是说没有指定user,没有权限访问数据库mysql。
那么用root登录呢,输入正确的密码报如下错:
[root@228827 ~]# mysql -uroot -p123456
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
密码正确的情况下,mysql数据库已经禁止了root用户在本地的登录权限了。
使用root用户通过主机127.0.0.1登录就可以正常进入mysql,127.0.0.1和localhost对mysql数据库来讲是不同的主机,
[root@228827 ~]# mysql -uroot -p123456 -h 127.0.0.1
这让我想起了mysql下的user表。
我们要进mysql看user表,一种方法可以通过上面的命令,如果不行,可以用下面的命令启动数据库,缺省密码进入
代码如下
[root@228827 ~]# /etc/init.d/mysql stop
[root@228827 ~]# /usr/local/mysql/bin/mysqld_safe –skip-grant-tables &
[root@228827 ~]# mysql
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 1
Server version: 5.1.57 Source distribution
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
mysql> use mysql
Database changed
mysql> select user,host,password from user where user='root';
+——+——————-+——————————————-+
| user | host | password |
+——+——————-+——————————————-+
| root | % | *A50E066E106320CF4142 |
| root | centos | *A50E066E106320CF4142 |
| root | 127.0.0.1 | *A50E066E1063608320CF4142 |
+——+——————-+——————————————-+
3 rows in set (0.12 sec)
发现user表host字段中没有localhost,但是我的理解是%代表所有的主机都能登录的,为什么localhost不能呢,同样的情况我在5.0.45版的mysql上面做实验就不会发生localhost无法登录,我当前用的是5.1.57版的,难道是版本的问题?
接下来的修改很明显了:
代码如下
mysql> update user set host='localhost' where user='root' and host='%';
mysql> flush privileges;
OK,退出mysql,重启mysql就解决问题了。
#1044 - Access denied for user 'root'@'localhost' to database 'information_s
没有权限,可能是用户名或都密码出错,不然就是root权限不够