编辑:仅供参考 - 这些查询将转到不同服务器上的MySQL数据库。我不是在Mac上查询MySQL数据库。但是,它使用的是Zend服务器安装的LOCAL mysql客户端。
更新:这肯定与Zend Server的MySQL配置有关。我厌倦了为Mac安装MySQL 5.5.25 DMG。如果我在Mac上使用mysql客户端的新路径,则查询运行正常。
我的Mac上有Zend Server Community Edition。
我需要从终端命令行(而不是mysql命令行)执行MySQL查询。在我的所有具有传统LAMP堆栈(不是Zend Server)的服务器上,我可以执行如下查询:
$ mysql -u USER_NAME -p PASSWORD -hSERVER_NAME -PTHE_PORT -e "SELECT NOW();"
在我的所有其他服务器上,我得到了这个回复:
+---------------------+
| NOW() |
+---------------------+
| 2012-06-20 18:34:21 |
+---------------------+
$
在我的带Zend服务器的Mac上,我得到:
ERROR 1049 (42000): Unknown database 'NOW();'
如果我在非Zend服务器上使用任何其他命令,例如此命令,我会收到有效的回复:
mysql -u USER_NAME -p PASSWORD -hSERVER_NAME -PTHE_PORT -e"use stp_downloads; select * from downloads limit 2;"
+--------------+-------------+---------------------+-----------------+ | downloads_id | statuses_id | download_stamp | order_number |
+--------------+-------------+---------------------+-----------------+ | 10001 | 5 | 2011-04-04 22:17:29 | DOWN00000004753 | | 10002 | 5 | 2011-04-04 22:29:06 | DOWN00000004754 |
+--------------+-------------+---------------------+-----------------+
如果我使用Zend服务器在Mac上运行该命令,我会得到:
/usr/local/zend/mysql/bin/mysql.client Ver 14.14 Distrib 5.1.54, for apple-darwin9.8.0 (i386) using readline 5.1
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license
Usage: /usr/local/zend/mysql/bin/mysql.client [OPTIONS] [database]
.......
随后是所有使用信息。
为什么Zend Server上的MySQL不能使用-e或--execute ??
正确处理SQL语句我做错了什么?
谢谢, 贾斯汀