使用Macports默认安装后无法登录到mysql

时间:2011-11-24 16:11:41

标签: mysql macports

我已经使用Macports安装了mysql5,安装似乎已经结束,但我根本无法登录到服务器。

这就是我所做的:

  

sudo port install mysql5-server

这构建并安装正常。

  

sudo / opt / local / lib / mysql5 / bin / mysql_install_db --user = mysql

这也运行良好。它输出以下内容:

  

安装MySQL系统表...   好   填写帮助表...   行

     

要在启动时启动mysqld,您必须复制   support-files / mysql.server到您系统的正确位置

     

请记住为MySQL root用户设置密码!   为此,请启动服务器,然后发出以下命令:

     

/ opt / local / lib / mysql5 / bin / mysqladmin -u root password'new-password'   / opt / local / lib / mysql5 / bin / mysqladmin -u root -h LeoMacBook.local password'new-password'

     

或者你可以运行:   的/ opt / local / lib目录/ MYSQL5 / bin中/ mysql_secure_installation

     

这也将为您提供删除测试的选项   默认情况下创建的数据库和匿名用户。这是   强烈建议用于生产服务器。

     

有关更多说明,请参阅手册。

     

您可以使用以下命令启动MySQL守护程序:   cd / opt / local; / opt / local / lib / mysql5 / bin / mysqld_safe&

     

您可以使用mysql-test-run.pl测试MySQL守护程序   cd / opt / local / mysql-test; perl mysql-test-run.pl

     

请报告/ opt / local / lib / mysql5 / bin / mysqlbug脚本的任何问题!

现在......让我们完全按照说明操作。我启动服务器:

  

sudo / opt / local / lib / mysql5 / bin / mysqld_safe&

服务器正常运行。

当我尝试更改root密码时,我无法登录。

  

LeoMacBook:bin leonardteo $ / opt / local / lib / mysql5 / bin / mysqladmin -u root password'new-password'   / opt / local / lib / mysql5 / bin / mysqladmin:在'localhost'连接到服务器失败   错误:'访问被拒绝用户'root'@'localhost'(使用密码:NO)'

我的智慧结束了。

我已经使用--skip-grant-tables启动了服务器。有了这个,我可以从命令行加载mysql,我已连接到服务器。当我运行SELECT * FROM mysql.user;时,它返回一个空集!有了这个,我试图通过调用命令来创建一个新用户:

  

创建用户'root'@'localhost'IDENTIFIED BY'root';

但这不起作用。我收到错误:

  

错误1290(HY000):MySQL服务器使用--skip-grant-tables选项运行,因此无法执行此语句

我不能让这个工作。我似乎非常接近,但root用户似乎不见了。

有什么想法吗?

伦纳德

1 个答案:

答案 0 :(得分:4)

使用--skip-grant-tables启动mysql后,发出flush privileges;查询。这将重新启用权限系统,并允许您运行常见的grantcreate user查询。