在osx的命令行中使用Mysql-找不到命令?
我试图在我的Mac OS X 10.9.5上启动并运行mysql。我已经安装了最新版本的14.14
5.6.21
社区服务器。我已经进入系统偏好设置并启动了mysql服务器,然后启动了终端并输入了以下内容:
/usr/local/mysql/bin/mysql --version
返回版本,但是当我键入任何类型的mysql命令时,我都会得到command
not found。我也试过sudo mysql_secure_installation
,mysql -u root
--password=password。
我确实安装了带有mysql等的虚拟主机,但是我希望能够首先在命令行中掌握它。
回答:
因此,终端在很少的地方寻找命令。此位置存储在您的$PATH
变量中。可以将其视为一个全局变量,终端在该全局变量中进行迭代以查找任何命令。这通常是二进制文件,看起来通常会引用/
bin文件夹。
/bin
文件夹中有很多可执行文件。原来这是命令。这些不同的文件夹位置存储在一个全局变量中,即$PATH
由:
现在,通常程序在安装时会负责更新PATH
并告诉您的终端,嘿,我可以是bin
文件夹中的所有命令。
事实证明,MySql在安装时不会执行此操作,因此我们必须手动执行。
我们通过以下命令来做到这一点,
export PATH=$PATH:/usr/local/mysql/bin
如果将其分解,export
不言而喻。将其视为一项任务。因此,export
一个值PATH
与旧$PATH
concat 值与新bin
ie
的变量/usr/local/mysql/bin
这样,执行完所有内部命令后/usr/local/mysql/bin
,我们便可以使用它们。
这里有一个小地方。将一个终端窗口视为程序的一个实例,也许$PATH
是类变量(也许)之类的东西。请注意,这纯粹是假设。因此,关闭后,我们将丢失新任务。而且,如果我们重新打开终端,我们将无法再次访问命令,因为最后一次导出时,该命令存储在易失性主存储器中。
现在,我们每次使用终端时都需要导出mysql二进制文件。因此,我们必须坚持前进的道路。
您可能会知道,我们的终端dotfiles
在终端初始化时使用了称为加载配置的东西。我喜欢将其视为每次创建新的终端实例时传递给构造函数的东西集(同样是一种假设,但接近于它可能在做什么)。所以是的,现在您已经明白了我们将要做的事情。
.bash_profile
是最主要的之一dotfile
。
因此,在以下命令中,
echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bash_profile
我们正在做的就是将echo
输出结果保存到〜/ .bash_profile中
因此,如上所述,每次打开终端或终端实例时,我们dotfiles
都已加载。因此.bash_profile
分别被加载,export
并且我们上面附加的内容被运行,从而全局$PATH
变量被更新,并且我们将所有命令都包含在内/usr/local/mysql/bin
。
聚苯乙烯
如果您不是直接运行第一个命令导出而是为了持久而仅运行第二个命令?相对于您当前必须运行的终端实例,
source ~/.bash_profile
这告诉我们的终端重新加载该特定文件。
以上是 在osx的命令行中使用Mysql-找不到命令? 的全部内容, 来源链接: utcz.com/qa/399770.html