0

我是 MySQL 新手,遇到了一些一般性问题,感谢您的帮助:

我的操作系统是 MAC SnowLeopard,当我在终端输入“mysql”时,我可以成功进入 mysql 系统,但是,我没有创建数据库的权限:

mysql> create database A;
ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'a'

我尝试了命令行'mysql -u root',得到以下信息:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

我在想我可以为数据库设置用户名,这使我无法使用root作为用户名进入mysql?

然后我尝试使用'localhost'作为用户名,我猜或记得我是否设置了它,使用命令'mysql -u localhost',我可以成功登录到mysql,但仍然无法创建数据库,

mysql> create database a;
ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'a'

我不知道:

  1. 为什么root不工作;
  2. 天气我之前自己设置了用户名和密码......对不起......现在真的不记得了。
  3. 如果我之前将用户名设置为'localhost',我不记得密码,因此我无权创建数据库?
  4. 在没有root访问权限的情况下,我应该怎么做才能恢复密码?
  5. 如果不可能,如何卸载它?mysql 的 .bash_profile 中的 PATH 是/usr/local/mysql/bin

我得到了检查:sudo port list installed | grep mysql

mysql5                         @5.1.65         databases/mysql5
mysql5                         @5.1.65         databases/mysql5
py26-mysql                     @1.2.3          python/py-mysql

/usr/local/mysql/bin 中的 mysql 是指这里列出的这个吗?

编辑 运行 ps -ef | 的结果 grep mysql:

    0   107     1   0   0:00.01 ??         0:00.02 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/XXX-MacBook-Pro.local.pid
   74   245   107   0   0:03.51 ??         0:18.35 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/mysql/plugin --user=mysql --log-error=/usr/local/mysql/data/XXX-MacBook-Pro.local.err --pid-file=/usr/local/mysql/data/XXX-MacBook-Pro.local.pid
  501  3790   417   0   0:00.00 ttys000    0:00.00 grep mysql
  501  3337  1271   0   0:00.00 ttys001    0:00.01 mysql -u localhost
4

1 回答 1

0

您需要重置您的根密码。为此,请按照以下简单步骤操作:

  • 停止 MySQL:sudo port unload mysql5-server
  • 使用启动 MySQL/opt/local/lib/mysql5/bin/mysqld_safe --skip-grant-tables &
  • 连接到 MySQL:mysql -uroot
  • 重置您的 MySQL 密码:
    • mysql>使用mysql;
    • mysql> 更新用户设置密码=PASSWORD("NEW-ROOT-PASSWORD") where User='root';
    • mysql> 刷新权限;
    • mysql>退出
  • 再次停止 MySQLsudo killall -9 mysqld_safe
  • 正常重启MySQLsudo port load mysql5-server
  • 连接到 MySQL:mysql -uroot -p

编辑

添加了停止/启动 MySQL 的命令。

于 2012-10-03T20:56:34.463 回答