如何在OS X上以root身份登录MySQL?

and*_*ewb 11 mysql macos mysql-error-1064 osx-lion

我刚刚在我的计算机上设置了MySQL(OS X 10.7),它似乎正常工作,通过活动监视器中的"mysqld"和我的系统偏好设置中的新图标来判断.

但是我在使用MySQL时遇到了麻烦,因为我需要至少以root用户身份登录,但它不允许我这样做.那么让我们来看看我一直在做的事情和我得到的错误消息:

首先,我通过"mysql"unix可执行文件启动MySQL.这似乎有效,因为我的条目现在在前面

 mysql> 
Run Code Online (Sandbox Code Playgroud)

另外,我可以输入

 help;
Run Code Online (Sandbox Code Playgroud)

我得到了MySQL的帮助列表.那么我去做一些事情,比如创建一个数据库:

 CREATE DATABASE books;
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

 ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'books'
Run Code Online (Sandbox Code Playgroud)

那么我认为我需要登录,并且以root用户身份登录就足够了.我输入以下内容:

 mysql -u root -p;
Run Code Online (Sandbox Code Playgroud)

但我得到1064错误说我的语法错了.我已经浏览了很多网站,这似乎从来都不是一个有问题的步骤.我有什么问题的线索吗?

小智 15

OSX终端提示符处输入mysql -u root以实际启动连接到服务器的命令行客户端.

shell> 代表你的shell提示实际上是什么样子.

不能在进入这个之后,你已经输入mysql的命令行提示符.

这是一个示例会话:

shell> mysql -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR 'root'@'::1' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR 'root'@'host_name' = PASSWORD('newpwd');
Run Code Online (Sandbox Code Playgroud)

注意:您可能需要在前面shell> mysql -u root加上shell> sudo mysql -u root

我的shell提示符被自定义为最后[jhr@Blackintosh] [/usr/local/mysql-5.5.25a-osx10.6-x86_64/bin]一个\n,因此./mysql -u root它在下一行的下一行输入.其余的是该命令的输出应该是什么.shell提示符由mysql程序提示符的提示替换.

这是我的shell输出的样子

[jhr@Blackintosh] [/usr/local/mysql-5.5.25a-osx10.6-x86_64/bin] 
./mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.5.25a MySQL Community Server (GPL)

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
Run Code Online (Sandbox Code Playgroud)


d1j*_*i1b 6

执行此命令:

mysql -u root -p
Run Code Online (Sandbox Code Playgroud)

将在您的控制台上提示:

#:=> Enter password: [enter your pass]
Run Code Online (Sandbox Code Playgroud)

这样您可以登录mysql dbms