以下是我的疑惑:
1. 你说从来没建立过密码,请问你以前怎么登录的?mysql -u root 还是直接 mysql ?
2. 后来我把表里的…… DROP 掉,这里讲述有问题,mytest 和 test 是数据表还是数据库?
3. 你当时用什么账号登录去 DROP 的?
后面还有问题,懒得写了,先说这些吧,你最好把中间过程也稍微详细点说一下,否则,你在两个账号间来回切换登录,然后出现问题拧在一起问,我不知道发生些什么啊?
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 &
回到正题,你这个时候用 ./bin/mysql -u root 登录就是 root 权限,可以管理 MySQL 服务器,当然也可以建立数据库等。此时你 show databases,可以看到 mysql 和 test 两个数据库。
如果是 ./bin/mysql 登录(而且此时你不是在操作系统的 root 账号状态下,因为如果不用 -u 参数,那么默认是用当前操作系统的登录用户名作为 MySQL 的登录用户名),那么就只是普通权限,而且仅限于使用 test 数据库。show databases 可验证,没有建立数据库的权限,只能在 test 数据库下建立、删除、使用数据表。
所以,你如果发现不能操作什么的,你要先确定权限问题,就是你用什么用户账号登录 MySQL 的,select user() 可以看到。