在osx命令行中使用Mysql - 找不到命令?

时间:2014-10-24 19:19:08

标签: mysql macos

我试图在我的mac osx 10.9.5上运行mysql并运行。我已安装最新版本14.14 5.6.21社区服务器。我已经进入系统首选项并启动了mysql服务器,然后启动了终端并键入了这个:

/usr/local/mysql/bin/mysql --version返回版本,但是当我键入任何类型的mysql命令时,我得到command not found。我还尝试了sudo mysql_secure_installationmysql -u root --password=password

我确实安装了mysql等的虚拟主机,但我希望能够首先在命令行中使用它。

5 个答案:

答案 0 :(得分:131)

因此终端寻找命令的地方很少。这些地方存储在/bin变量中。将其视为一个全局变量,终端迭代以查找任何命令。这通常是二进制文件,看看/ bin文件夹通常是如何引用的。

$PATH文件夹里面有很多可执行文件。原来这是命令。这个不同的文件夹位置存储在一个全局变量中,即由:

分隔的PATH

现在通常安装的程序负责更新bin&告诉你的终端,我可以成为export PATH=$PATH:/usr/local/mysql/bin 文件夹中的所有命令。

原来MySql在安装时没有这样做,所以我们手动完成它。

我们按照命令

来做
export

如果你将其分解,export是不言自明的。把它想象成一项任务。因此PATH变量$PATH的值bin与新的/usr/local/mysql/bin结合,即/usr/local/mysql/bin

这样执行后$PATH内的所有命令都可供我们使用。

这里有一个小小的捕获。可以将一个终端窗口视为一个程序实例,也许像.bash_profile这样的类变量(可能)。请注意,这是纯粹的假设。所以一旦结束,我们就失去了新的任务。如果我们重新打开终端,我们将无法再次访问我们的命令,因为在我们导出时,它被存储在易失性的主存储器中。

现在我们需要在每次使用终端时导出我们的mysql二进制文件。所以我们必须在我们的道路上坚持不懈。

您可能知道我们的终端使用名为dotfiles的内容来加载终端初始化配置。我喜欢把它想象成每次创建一个新的终端实例时传递给constructer的东西(同样是一个假设但接近它可能正在做的事情)。所以是的,现在你明白了我们要做的事情。

dotfile是众所周知的echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bash_profile 之一。

所以在下面的命令中,

echo

我们正在做的是将dotfiles的结果,即输出字符串保存到〜/ .bash_profile

所以现在正如我们上面提到的那样,每次打开终端或终端实例时我们都会加载.bash_profile。因此,export分别加载,我们在上面附加的$PATH运行&因此我们的全局/usr/local/mysql/bin得到更新,我们获得了source ~/.bash_profile 内的所有命令。

P.S。

如果你没有直接运行第一个命令导出但只运行第二个命令以保持它?比你当前运行的终端实例,

{{1}}

这告诉终端重新加载该特定文件。

答案 1 :(得分:21)

这意味着/ usr / local / mysql / bin / mysql不在PATH变量中..

执行/ usr / local / mysql / bin / mysql来获取你的mysql shell,

或在您的终端中输入:

PATH=$PATH:/usr/local/mysql/bin

将其添加到PATH变量中,这样您就可以在不指定路径的情况下运行mysql

答案 2 :(得分:4)

对我来说,以下命令有效:

TopicCount countTopicOccurences (const TopicMap& topicMap, const vector<string>& reviews)
{
    TopicCount c; 
    for (string reviewword:reviews) {
        auto words=split(reviewword);
        for (auto& word:words) {
            for (auto m:topicMap) {
                if (find(m.second.begin(), m.second.end(), word) != m.second.end() )
                   c[m.first]++;
            }
        }
    }
    return c; 
}

答案 3 :(得分:1)

您可以通过添加MySQL .bash_profile来修改$PATH,如下所示:
export PATH=$PATH:/usr/local/mysql/bin

我做了以下事情:

1-打开终端然后$ nano .bash_profile$ vim .bash_profile

2-将以下PATH代码添加到.bash_profile

# Set architecture flags
export ARCHFLAGS="-arch x86_64"
# Ensure user-installed binaries take precedence
export PATH=/usr/local/mysql/bin:$PATH
# Load .bashrc if it exists
test -f ~/.bashrc && source ~/.bashrc 

3-保存文件。

4-使用$ source ~/.bash_profile

刷新终端

5-要验证,请键入终端$ mysql --version

6-它应该输出如下输出:

$ mysql Ver 14.14 Distrib 5.7.17, for macos10.12 (x86_64)

终端现在配置为从$PATH中读取.bash_profile的MySQL命令。

答案 4 :(得分:0)

修改您的bash配置文件,如下所示 &lt;&gt; $ vim~ / .bash_profile export PATH = / usr / local / mysql / bin:$ PATH 保存后,您可以输入mysql在终端中输入mysql提示符。