如何登录mysql并从linux终端查询数据库


104

我正在使用debian linux。我有一台安装了mysql的Linux机器。我可以使用root用户以及其他用户身份登录到我的linux计算机。我可以使用sqlyog从Windows计算机连接到Linux计算机上的mysql数据库。现在我只想使用linux终端在linux机器上执行查询

我在终端上尝试了以下操作

我去了根目录,然后去了/ var / lib目录

我在终端上运行以下命令

mysqladmin -u root -p
mysqladmin -u root -ppassword

每当我收到以下错误消息

错误1045(28000)用户'root'@'localhost'的访问被拒绝(使用密码NO)

请指导我关注

  1. 如何在Linux终端中获取mysql提示符?
  2. 我如何从Linux终端停止mysql服务器?
  3. 我如何从Linux终端启动mysql服务器?
  4. 如何在Linux终端中获取mysql提示符?
  5. 如何从Linux终端登录mysql服务器?
  6. 如何解决以下错误?

错误1045(28000)用户'root'@'localhost'的访问被拒绝(使用密码NO)

请给我以上问题的解决方案。谢谢


1
每当我运行此命令mysql -u root -p时,它都不问我密码,并且收到错误消息“错误1045(28000)用户'root'@'localhost'的访问被拒绝(使用密码NO)”另一个问题是在哪里我在根文件夹中的命令根提示符上方运行还是需要转到特定目录。给我它的路。谢谢!
Param-Ganak 2011年

尝试更改命令的语法,如下所示:“ mysql --user = root --password”(在命令行上键入引号时,请删除引号)。否则,似乎没有提示您输入密码似乎很奇怪,我怀疑在mysql范围之外可能还会发生其他事情。
baraboom 2011年

Answers:


180

1.-如何在Linux终端中获取mysql提示符?

mysql -u root -p

Enter password:提示符下,输入root的密码:)

您可以通过键入mysql --help或在在线手册中找到更多参考。

2.如何从Linux终端停止mysql服务器?

这取决于。基于Red Hat的发行版具有以下service命令:

service mysqld stop

其他发行版需要直接调用初始化脚本:

/etc/init.d/mysqld stop

3.如何从Linux终端启动mysql服务器?

与#2相同,但带有start

4.如何在Linux终端中获取mysql提示符?

与#1相同。

5.如何从Linux终端登录mysql服务器?

与#1相同。

6.如何解决以下错误?

与#1相同。


10

第一个问题:

mysql -u root -p

要么

mysqladmin -u root -p "your_command"

取决于您要做什么。按下Enter键后,系统会要求您输入密码!我猜你真的想使用mysql而不是mysqladmin

要在Linux上重新启动或停止MySQL服务器,这取决于您的安装,但是在常见的debian衍生产品中,这将用于启动,停止和重新启动服务:

sudo /etc/init.d/mysql start
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql restart
sudo /etc/init.d/mysql status

在某些较新的发行版中,如果将MySQL设置为守护程序/服务,这可能也会起作用。

sudo service mysql start
sudo service mysql stop
sudo service mysql restart
sudo service mysql status

但是,如果不知道您的特定设置,实际上就不可能回答这个问题。


每当我运行此命令mysql -u root -p时,它都不会询问我密码,并且收到错误消息“错误1045(28000)用户'root'@'localhost'的访问被拒绝(使用密码NO)”,另一个问题是在哪里我在根文件夹中的命令根提示符上方运行还是需要转到特定目录才能给我其路径,谢谢
Param-Ganak 2011年

您不必转到特定目录。您可以从任何地方运行它。你可以粘贴到响应uname -a,并mysql --version和它们粘贴到这里(只需输入他们到终端)。然后,我们可能会给您更多帮助。service mysql status也会有帮助。
flindeberg 2011年

5

我假设您正在寻找使用mysql客户端的方法,这是一件好事,并且比任何phpMyAdmin替代方法都更有效。

使用命令行客户端登录的正确方法是键入:

mysql -u username -p

注意,我没有输入密码。这样做会使密码在屏幕上可见,这在多用户环境中不好!

键入此按回车键后,mysql将询问您的密码。

登录后,您当然需要:

use databaseName;

做任何事。

祝好运。


每当我运行此命令mysql -u root -p时,它都不问我密码,并且收到错误消息“错误1045(28000)用户'root'@'localhost'的访问被拒绝(使用密码NO)”另一个问题是在哪里我在根文件夹中的命令根提示符上方运行还是需要转到特定目录。给我它的路。谢谢!
Param-Ganak 2011年

您在什么Linux发行版上运行?
stefgosselin 2011年

5

在命令提示符下,尝试:

mysql -u root -p

在提示时输入密码。


每当我运行此命令mysql -u root -p时,它都不问我密码,并且收到错误消息“错误1045(28000)用户'root'@'localhost'的访问被拒绝(使用密码NO)”另一个问题是在哪里我在根文件夹中的命令根提示符上方运行还是需要转到特定目录。给我它的路。谢谢!
Param-Ganak 2011年

只要您配置了路径,就应该能够从主目录运行它。它应该可以工作...
quar11

4

我今天在ArchLinux VPS上遇到了同样的问题。

mysql -u root -p只是没有用,而mysql -u root -pmypassword有。

原来,我的设备文件/ dev / tty损坏了(很可能是在udev升级之后),所以mysql无法使用它进行交互式登录。

我最终删除的/ dev / tty的,并重新创建mknod /dev/tty c 5 1chmod 666 /dev/tty。那也解决了mysql问题和其他一些问题。


这实际上有效!现在,每个人都可以在bash_history中看到root密码。:/您怎么知道他们的/ dev / tty被搞砸了?
user3870315

2

要在大多数linux系统上停止或启动mysql,下面的方法应该起作用:

/etc/init.d/mysqld stop

/etc/init.d/mysqld start

其他答案对于从命令行访问mysql客户端看起来很好。

祝好运!


2
  1. 您应该使用mysql命令。它是mysql RDBMS的命令行客户端,并且随大多数mysql安装一起提供:http : //dev.mysql.com/doc/refman/5.1/en/mysql.html

  2. 要停止或启动mysql数据库(您很少需要“手动”执行此操作),通常使用带有stopstart参数的正确初始化脚本/etc/init.d/mysql stop。但是,这取决于您的linux发行版。一些新发行版鼓励service mysql start风格。

  3. 您正在使用mysqlsql shell 登录。

  4. 该错误可能是由于双'-p'参数。您可以提供-ppassword或公正提供,-p并且会要求您交互输入密码。另请注意,某些安装可能使用mysql(而非root)用户作为管理用户。检查sqlyog配置以获得可用的连接参数。



2

在Ubuntu中,我所要做的就是sudo mysql在GNOME终端中完成。我可以开始建立数据库或查询表中的数据等。


1

如果您仍然无法访问数据库,请执行以下操作:1.在您的错误消息中未设置密码,对吗?然后先输入mysqlpasswd'username',然后按要求再次输入密码,然后尝试使用mysql -p再次访问(如果您是root)


1

如果您已经以root用户身份登录

mysql -u root

提示输入密码,否则将返回错误


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.