免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2387 | 回复: 10
打印 上一主题 下一主题

[权限问题]郁闷瓦... [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-06-08 16:29 |只看该作者 |倒序浏览
我的 MYSQL我从来没建过密码,一开始还能用,后来我把表里的mytest 和 test DROP掉后,再建表的时候就只能建test了,其他的比如我建mytest等的时候,就出现:


  1. ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mytest'
  2. mysql>
复制代码


我又用mysql -u -root -p 登录,结果要密码,但是我没设置这个密码阿???

why???外???歪???

[ 本帖最后由 yejr 于 2006-6-8 16:53 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-06-08 16:52 |只看该作者
看不懂你说的诶

论坛徽章:
0
3 [报告]
发表于 2006-06-08 17:00 |只看该作者
我的意思是,我在MYSQL中新建个表的时候,就出现了
ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mytest'
的错误。
就是表建不上去。

论坛徽章:
0
4 [报告]
发表于 2006-06-08 17:01 |只看该作者
如果单纯要重新设置密码,请看置顶 FAQ 中“忘记 root 密码怎么办”。

以下是我的疑惑:
1. 你说从来没建立过密码,请问你以前怎么登录的?mysql -u root 还是直接 mysql ?
2. 后来我把表里的…… DROP 掉,这里讲述有问题,mytest 和 test 是数据表还是数据库?
3. 你当时用什么账号登录去 DROP 的?
后面还有问题,懒得写了,先说这些吧,你最好把中间过程也稍微详细点说一下,否则,你在两个账号间来回切换登录,然后出现问题拧在一起问,我不知道发生些什么啊?

你现在是用 匿名用户 登录,所以权限只有访问 test 数据库的。

[ 本帖最后由 rardge 于 2006-6-8 17:07 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2006-06-08 17:11 |只看该作者
我是官方下载的MYSQL。不需要编译安装的。
1、我按照里面的INSTALL来安装的。其中一步是建立用户名,我的用户是“mysql”。我执行./bin/mysql 之后无需密码就进去了。
2、DROP掉的是 show databases; 看到的表里的。
3、用“mysql”用户登陆上去DROP的。

论坛徽章:
0
6 [报告]
发表于 2006-06-08 17:23 |只看该作者
原帖由 koky 于 2006-6-8 17:11 发表
我是官方下载的MYSQL。不需要编译安装的。
1、我按照里面的INSTALL来安装的。其中一步是建立用户名,我的用户是“mysql”。我执行./bin/mysql 之后无需密码就进去了。
2、DROP掉的是 show databases; 看到的表里 ...

你说的建立的用户 mysql,是 useradd mysql 这样建立的吧?那个是在操作系统上用户,是用来启动 MySQL 服务的,而不是登录 MySQL 的。
scripts/mysql_install_db 这一步执行后,不是出来一堆英文提示么?其中就有要你用:
./bin/mysqladmin -u root -h localhost password 'yorpassword' 命令来给 MySQL 的 root@localhost 账号建立密码的。
你现在执行这个试试,看看还行不,然后用 ./bin/mysql -uroot -p 登录。

你用 ./bin/mysql 这样登录 MySQL,得到的权限就是只能使用 test 数据库。
show databases 看到的是数据库,不是表!
我奇怪的是,你用匿名用户进去居然 show databases 还能看到除了 test 以外的数据库?那个 mytest 是原来就有的?难道是版本问题???

论坛徽章:
0
7 [报告]
发表于 2006-06-08 21:18 |只看该作者
说实话,MYSQL真的有些奇怪的问题哟,有时候真的不知道怎么办!

论坛徽章:
0
8 [报告]
发表于 2006-06-08 23:16 |只看该作者
我是去官方下载的4.0版本。

其中有个INSTALL-BINARY文件教你怎么安装的:
我是按照下列步骤装的。 一步都没少。装上就可以用了。最后一步是启动。

The basic commands that you must execute to install and use a MySQL
binary distribution are:

     shell> groupadd mysql
     shell> useradd -g mysql mysql
     shell> cd /usr/local
     shell> gunzip < /PATH/TO/MYSQL-VERSION-OS.tar.gz | tar xvf -
     shell> ln -s FULL-PATH-TO-MYSQL-VERSION-OS mysql
     shell> cd mysql
     shell> scripts/mysql_install_db --user=mysql
     shell> chown -R root  .
     shell> chown -R mysql data
     shell> chgrp -R mysql .
     shell> bin/mysqld_safe --user=mysql &

没有输入用户名和密码就直接可以控制了。

论坛徽章:
0
9 [报告]
发表于 2006-06-09 00:41 |只看该作者
是的,没有说一定要输入密码才能使用 MySQL,但是建议立刻更改 root 密码以保证 MySQL 数据安全。
在 shell> scripts/mysql_install_db --user=mysql 这一步执行后,不是出来一大堆的英文提示么?就是告诉你如何设置密码,如何启动等等信息。

回到正题,你这个时候用 ./bin/mysql -u root 登录就是 root 权限,可以管理 MySQL 服务器,当然也可以建立数据库等。此时你 show databases,可以看到 mysql 和 test 两个数据库。
如果是 ./bin/mysql 登录(而且此时你不是在操作系统的 root 账号状态下,因为如果不用 -u 参数,那么默认是用当前操作系统的登录用户名作为 MySQL 的登录用户名),那么就只是普通权限,而且仅限于使用 test 数据库。show databases 可验证,没有建立数据库的权限,只能在 test 数据库下建立、删除、使用数据表。
所以,你如果发现不能操作什么的,你要先确定权限问题,就是你用什么用户账号登录 MySQL 的,select user() 可以看到。

你最好找本 MySQL 的书看看基础操作,比我讲的专业。

[ 本帖最后由 rardge 于 2006-6-9 00:44 编辑 ]

论坛徽章:
0
10 [报告]
发表于 2006-06-09 09:55 |只看该作者
恩。好的。谢谢rardge兄。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP