Ubuntu 10.10中奇怪的mySQL行为

时间:2012-04-26 01:26:30

标签: mysql ubuntu lamp

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

首先,为了测试数据库,我用

创建了一个php文件
mysql_connect("localhost", "root", "myPassword") or die(mysql_error());

其中myPassword是我在安装过程中询问时输入的。这给了我一个访问被拒绝的错误。我试图shell进入mySQL服务器以寻求我读到的解决方案。正常的语法不起作用,除了“拒绝访问”之外什么都没有,我不得不做

mysql -u root password myPassword

然而,它只是吐出一个参数和变量列表而不是mysql shell。所以在这一点上,我很难过;我在几年内没有通过命令行使用mySQL,但这种行为都不熟悉,我找不到与服务器交互的方法。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:2)

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

mysql -uroot -pmyPassword

如果您不想冒险泄露密码......

mysql -uroot -p

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

答案 1 :(得分:0)

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

允许mysql接触的内容在此处定义:/etc/apparmor.d/abstractions/mysql

如果您已将套接字文件放在其他位置,则会收到拒绝访问的消息。

要更仔细地查看事情,请运行您的mysql客户端,如下所示:

strace -e file mysql <blah blah>

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