在Ubtunu上使用Sqitch的MySQL用户权限错误

时间:2015-09-17 00:37:50

标签: mysql sqitch

我遇到了我认为非常容易解决的问题,我只是出于可能的想法。

我有一个全新的Ubuntu 14.04 x64服​​务器。我刚刚安装了MySQL。不是Apache,php或phpMyAdmin,只是简单的MySQL。

我已经浏览mysql_secure_installation并为我的root用户创建了密码。

然后我将root密码放在/etc/mysql/my.cnf部分下的[client]文件中。

我可以运行mysql -u root并轻松访问MySQL控制台。

但是,如果我运行sqitch deploy,我会得到:
Access denied for user 'root'@'localhost' (using password: NO)

Sqitch指的是:

[target "database name_v1"]
uri = db:mysql://root@/databasename_v1
[engine "mysql"]
target = db:mysql://root@/databasename_v1

修改

事实证明问题出在Sqitch和我的配置上。 Sqitch是一个Perl应用程序,需要perl模块MySQL Config才能读取my.cnf文件并访问数据库。

3 个答案:

答案 0 :(得分:1)

事实证明问题出在Sqitch和我的配置上。 Sqitch是一个Perl应用程序,需要perl模块MySQL::Config才能读取my.cnf文件并访问数据库。

答案 1 :(得分:0)

如果您使用-v获取MySQL版本,请回答: mysql -V
-v用于详细输出。

有关更多详细信息,请参阅此主题。 "mysql -v" command line error(linux/ubuntu)

答案 2 :(得分:0)

mysql中有多个root用户。它们的格式为user@remote

您可以通过运行查询select Host, User, Password from mysql.user where User="root";

来检查是否为所有这些设置了用户密码

输出应显示如下内容:

+--------------+----------+-------------------------------------------+
| Host         | User     | Password                                  |
+--------------+----------+-------------------------------------------+
| localhost    | root     | *XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
| testvm       | root     | *XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
| 127.0.0.1    | root     | *XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |

如果密码为空,请通过mysqladmin设置。

从此开始,您将无法连接到mysql,无论是来自localhost还是来自主机名,都可以登录。