我正在初始化一个新的数据库,但无法连接到它 – 它说根不被授权。 我假设创build一个空白/新的数据库将允许在本地主机连接。 我应该如何连接到一个新初始化的数据库?
> service mysql stop > mysql_install_db --user=mysql --datadir=/ebs/db/mysql > service mysql start > mysqladmin -u root password ******** mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (using password: NO)'
/etc/mysql/my.cnf中的“datadir”确实指向了正确的位置,我没有看到任何其他可能有所作为的选项。
看起来像一个简单的错字给我。 赠品是错误消息中的“(使用密码:否)”语句,这意味着您正在运行的命令不能识别您提供的密码。 我在这里假设“keufEdBe”是你的root密码。
尝试以下操作:
mysqladmin -u root -p
然后会提示您交互地input密码。 如果你真的想在命令行中input它(不推荐,因为它将以纯文本的forms存储在你的shell历史文件中),你可以使用下面的命令:
mysqladmin -u root --password=*******
根据经验,MySQL命令假设您使用的帐户是无密码的,除非明确使用-p或–password选项。 后一个选项允许您在命令行上指定密码,但需要=符号。
我build议查看内置的帮助,这将允许您看到所有可用的选项和使用-u与–user和-p与–password之间的语法差异:
mysqladmin --help | less
因为这个命令的帮助屏幕很长,所以我build议在这里把pipe道连接到更less或更多。 或者,您可以运行它并在terminal程序中向上滚动,以查看包含所有选项及其解释和语法的输出的第一页。
你必须做的是:
$ sudo mysql_install_db $ sudo service mysql start $ sudo mysql_secure_installation $ mysql -u root -p
我认为mysql_install_db现在正在安装一个随机密码,必须用mysql_secure_installation重置。
另一种select是运行:
/var/lib/dpkg/info/mysql-server-5.5.postinst configure
请注意,脚本名称可能会根据您安装的版本而改变。
这是在Ubuntu上testing,但应该适用于任何基于Debian的发行版。
请检查您的数据库的初始数据库中的用户。
service mysql restart --skip-grant-tables --skip-networking
尝试login到数据库:
mysql -u root -p
然后按ENTER键
mysql> use mysql; mysql> select * from user;
检查你是否有用户? 如果不是这个原因。 你可以添加root用户。 说明如何在以下urlfind: http : //www.helpfromfriend.com/database/mysql/how-to-recreate-root-account-in-mysql/