【发布时间】:2015-09-17 00:37:50
【问题描述】:
我遇到了一个我认为很容易解决的问题,我只是没有可能的想法。
我有一个全新的 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 文件并访问数据库。
【问题讨论】:
-
其中一个通过套接字连接您,而另一个通过 tcp 端口连接。如果您指定
-S /path/to/socket或-h hostname -P portnumber,无论哪个有效,在mysql -u root和mysql -v上都使用它,您将获得一致的连接。