2012-04-26 39 views
-1

我在Ubuntu 10.10下新安装的mySQL服务器副本遇到了一些严重的麻烦。我安装apt并在那个时候提供了一个密码。安装很顺利,但服务器表现得非常奇怪。Ubuntu 10.10中奇怪的mySQL行为

首先,测试数据库中,我创建了一个PHP文件与

mysql_connect("localhost", "root", "myPassword") or die(mysql_error()); 

其中MYPASSWORD是我进入的时候它要求,在安装过程中的一个。这给了我一个拒绝访问错误。我试图通过shell进入mySQL服务器来寻求我读到的解决方案。正常的语法没有工作,并得到什么,但“拒绝访问”,我不得不这样做

mysql -u root password myPassword 

然而,而不是一个mysql外壳,它只是吐出的参数和变量列表。所以在这一点上,我很难过;在过去的几年中,我还没有通过命令行使用mySQL,但这些行为都不为人所知,而且我也找不到与服务器交互的方式。

任何帮助,将不胜感激。

回答

2

用于提供密码的mysql命令行参数是-p,而不是password。你也应该留出空间。例如:

mysql -uroot -pmyPassword 

如果你不想冒险您的密码被曝光......

mysql -uroot -p 

...会提示您输入密码并隐藏字符键入时。

+0

我指出的奇怪之处在于使用-p参数会导致访问被拒绝错误,无论我使用'-uroot'还是'-u root'。这部分是我的意思是“怪异的行为”。 – dlwiest 2012-04-26 01:47:18

0

如果您安装了apparmor(这是默认设置),那么当您超出由ubuntu设置的狭义定义默认值时,它可能会导致问题。

的事情,MySQL是不允许接触的定义如下:/etc/apparmor.d/abstractions/mysql

如果你把你的套接字文件的其他地方,你会得到一个访问被拒绝的消息。

要在事情看起来更加紧密,运行mysql客户端,像这样:

strace -e file mysql <blah blah> 

这将打印出标准错误的任何系统级别的文件操作。然后您可以确切地看到哪个操作导致权限错误。如果您没有看到问题,则可以使用-e network来查看网络操作。