mysql5 - 由于'root'无法创建数据库或执行任何操作(拒绝访问)

Joh*_*sen 13 mysql macos macports mysql5 osx-lion

我在Mac OS X Lion上,刚刚使用MacPorts安装了mysql5.

然后我成功跑了:

sudo /opt/local/lib/mysql5/bin/mysql_install_db --user=mysql
Run Code Online (Sandbox Code Playgroud)

我能够启动服务器并以"root"连接正常,但我无法创建任何数据库.

$ mysql5 -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.61 Source distribution

mysql> create database dbname;
ERROR 1044 (42000): Access denied for user 'root'@'localhost' to database 'dbname'
Run Code Online (Sandbox Code Playgroud)

我已经做了很多谷歌试图解决这个问题,似乎问题可能与/ opt/local/var/db/mysql5的文件系统权限有关,但我试过改变它们无济于事:

$ ls -l /opt/local/var/db/
total 0
drwxrwxrwx  8 _mysql  _mysql  272 Apr 12 11:55 mysql5
Run Code Online (Sandbox Code Playgroud)

我已经尝试过使用'_mysql','mysql'和'root:wheel',但是没有一个有所作为.

Joh*_*sen 25

修复 - mysql创建了我的"root"帐户,没有任何权限(我是一个mysql newb).

我通过启动mysql解决了

--skip-grant-tables
Run Code Online (Sandbox Code Playgroud)

然后启动:

mysql5
Run Code Online (Sandbox Code Playgroud)

并运行:

mysql> UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> GRANT ALL ON *.* TO 'root'@'localhost';
Run Code Online (Sandbox Code Playgroud)

希望这有助于某人!

  • 而且你从我那里得到一个+1来找到一个很好的答案来匹配这个问题.:) (2认同)

NM *_*ker 5

我知道这是一个老问题,但我在运行 Catalina 的新 Macbook 上遇到了这个问题。我正在从事的项目要求我运行旧版本的 MySQL (5.7),因此我通过 Homebrew 安装了它并遇到了同样的问题;即使作为用户,也无法做几乎所有事情root

重新启动我的机器解决了问题,所以我很高兴能够将此作为答案发布:

将其关闭并再次打开