1

我已经下载并安装mySQL了双击它的图标。它已成功安装。

当我转到启动和首选项时,我看到添加了 mysql 的图标,当我单击它时,我看到一个屏幕显示“MySQL 服务器实例正在运行”。

但是,当我打开终端和cd/usr/local/mysql然后当我键入时sudo ./bin/mysqld_safe,系统提示我输入密码。而且我安装mySQL时没有添加密码,所以我尝试将其留空,然后我尝试了各种密码登录,但所有尝试都失败了。

所以现在我需要知道如何通过终端登录到 mySQL?

mysql 版本 - 5.5.24-osx10.6x86_64 我的 Mac OS - 10.7.3

4

2 回答 2

1

我发现在 MacOs 上安装 mysql 有一些不同之处。一是它无需密码即可安装。另一件事是它默认允许匿名登录。

使用它来设置密码:

mysqladmin -u root -h localhost password yourpassword

您可以通过以下方式删除匿名登录:

shell> mysql -u root -p
Enter password: (enter root password here)
mysql> DROP USER ''@'localhost';
mysql> DROP USER ''@'host_name';

另一件事是我发现安装并没有修改路径变量。我从命令行运行 mysql 所做的是将 /usr/local/mysql/bin 添加到路径中,方法是将其添加到 /etc/paths 或 /etc/paths.d 。这可能是您运行 mysql 所需要的。就像评论中有人说的那样, mysqld_safe 是启动 mysql 服务器的一种方式,似乎已经设置为运行。

以下是向 /etc/paths.d 添加内容的具体说明

$ cd /etc/paths.d
$ cat > mysql
/usr/local/bin/mysql

(然后键入 Ctrl-D 应该将文件放在那里)

如果您没有权限,则可能需要 sudo。

于 2012-05-24T17:42:54.173 回答
1

默认情况下,sudo 命令允许 admin 组中的任何人通过提供自己的密码以 root 身份运行命令。这就是为什么当你输入“sudo ./bin/mysqld_safe”时它会要求你输入密码。它与mysql没有任何关系。

如果您没有密码,则无法在默认配置中使用 sudo。要么给自己一个密码,要么编辑 sudoers 文件。(我强烈建议前者而不是后者,特别是如果你不知道 sudo 做了什么。)

有关更多信息,请从终端键入“man sudo”(然后是“man sudoers”)。

同时,“它说 -bash: mysql: command not found when I type mysql in the terminal”的原因是因为你已经清楚地将它安装到 /usr/local/mysql/bin/mysql 中,这不在你的小路。如果它在您的路径上,您可以在上面执行“sudo mysqld_safe”,而不是“sudo ./bin/mysqld_safe”。既然不是,你必须做“./bin/mysqld_safe”。

有关更多信息,请参阅有关 Unix shell 的良好入门。

最后,如果您已经运行了 mysql 守护程序,并且正在尝试启动客户端,那么您要运行的是“mysql”,而不是“mysqld_safe”。

于 2012-05-24T23:50:07.573 回答