【问题标题】:Installing MySQL on a mac在 Mac 上安装 MySQL
【发布时间】:2012-05-24 16:47:29
【问题描述】:

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

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

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

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

mysql 版本 - 5.5.24-osx10.6x86_64 我的 Mac 操作系统 - 10.7.3

【问题讨论】:

  • mysqld_safe 是启动mysql服务的命令,你说的已经在运行了。要启动客户端,只需使用“mysql”命令。
  • 当我在终端输入 mysql 时,它会显示 -bash: mysql: command not found
  • 如果您输入sudo ./bin/mysqld_safe,它会要求您输入超级用户密码。您是否尝试过输入您的管理员密码?
  • 一旦我输入了 mysqld_safe,它就会提示输入密码。我在安装 mySQL 时没有输入密码。那我怎么在这里输入密码?
  • @Olwaro 管理员密码的意思是,我机器的密码?我没有在我的机器上添加密码。并且不允许将密码字段保留为空白

标签: mysql macos


【解决方案1】:

我发现在 MacO 上安装 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 所需要的。就像有人在 cmets 中所说的那样,mysqld_safe 是启动 mysql 服务器的一种方式,并且似乎已经设置为运行。

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

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

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

如果您没有权限,您可能必须使用 sudo。

【讨论】:

  • 当我输入 mysqladmin -u root -h localhost password yourpassword 时显示 -bash: mysqladmin: command not found 未找到
  • 如何通过添加到 /etc/paths 或 /etc/paths.d 来将 `/usr/local/mysql/bin 添加到路径中?我怎样才能打开paths.d?
  • 尝试我说的最后一件事,将 /usr/loca/mysql/bin(假设它安装在它的位置)添加到 /etc/paths 或 /etc/paths.d(查找如何设置路径像那样,而不是在 .bash_rc 或其他东西中)。然后你应该能够在一个新的终端窗口中运行它。
  • 查看serverfault.com/questions/16355/how-to-set-global-path-on-os-x 了解如何在 MacO 上设置全局路径值。第一个答案很有用。您可能必须为此使用 sudo,我不确定,具体取决于您的权限
  • 是的,当我输入ls /etc/paths.d 时,我只看到x11。那么我以后如何编写命令将mysql添加到PATH?
【解决方案2】:

默认情况下,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 中,那不是t 在你的路上。如果它在您的路径上,您可以在上面执行“sudo mysqld_safe”,而不是“sudo ./bin/mysqld_safe”。既然不是,你必须做“./bin/mysqld_safe”。

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

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

【讨论】:

    猜你喜欢
    • 2013-07-10
    • 2018-12-15
    • 2013-04-17
    • 2018-12-13
    • 1970-01-01
    • 2011-01-02
    • 2013-05-10
    相关资源
    最近更新 更多