首页 文章

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

提问于
浏览
85

我正在使用debian linux . 我有一台安装了mysql的linux机器 . 我可以使用root用户和其他用户登录我的linux机器 . 我可以使用sqlyog从windows机器连接linux机器上的mysql数据库 . 现在我想只使用linux终端在linux机器上执行查询

我在终端上试了一下以下的东西

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

我在终端上运行以下命令

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

每次我收到以下错误消息

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

请指导我以下

  • 如何在linux终端中获取mysql提示符?

  • 如何从linux终端停止mysql服务器?

  • 如何从linux终端启动mysql服务器?

  • 如何在linux终端中获取mysql提示符?

  • 如何从linux终端登录mysql服务器?

  • 如何解决以下错误?

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

请给我解决上述问题 . 谢谢

10 回答

  • 155

    1.- How do I get mysql prompt in linux terminal?

    mysql -u root -p
    

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

    您可以通过键入 mysql --help 或在online manual找到进一步的参考 .

    2. How I stop the mysql server from linux terminal?

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

    service mysqld stop
    

    其他发行版需要直接调用init脚本:

    /etc/init.d/mysqld stop
    

    3. How I start the mysql server from linux terminal?

    与#2相同,但是 start .

    4. How do I get mysql prompt in linux terminal?

    与#1相同 .

    5. How do I login to mysql server from linux terminal?

    与#1相同 .

    6. How do I solve following error?

    与#1相同 .

  • 4

    至于你的第一个问题:

    mysql -u root -p
    

    要么

    mysqladmin -u root -p "your_command"
    

    取决于你想做什么 . 点击进入后,系统会询问您的密码!我猜你真的想用 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设置为deamon / service,这可能也会起作用 .

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

    但是,如果不了解您的特定设置,这个问题就无法回答 .

  • 1

    我假设你正在寻找使用mysql客户端,这是一个好东西,使用效率比任何phpMyAdmin替代品更高效 .

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

    mysql -u username -p
    

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

    键入此命中输入键后,mysql将询问您的密码 .

    登录后,您当然需要:

    use databaseName;
    

    做任何事 .

    祝好运 .

  • 1

    我今天在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问题和其他一些问题 .

  • 2

    在命令提示符下尝试:

    mysql -u root -p
    

    提示时输入密码 .

  • 1

    要在大多数Linux系统上停止或启动mysql,以下应该有效:

    /etc/init.d/mysqld stop
    
    /etc/init.d/mysqld start
    

    其他答案看起来很适合从命令行访问mysql客户端 .

    祝好运!

  • 5
    • 你应该使用 mysql 命令 . 它是mysql RDBMS的命令行客户端,并附带大多数mysql安装:http://dev.mysql.com/doc/refman/5.1/en/mysql.html

    • 要停止或启动mysql数据库(您很少需要这样做'by hand'),请使用带有 stopstart 参数的正确init脚本,通常为 /etc/init.d/mysql stop . 但这取决于你的linux发行版 . 一些新的发行版鼓励 service mysql start 风格 .

    • 您正在使用 mysql sql shell登录 .

    • 该错误可能是因为双'-p'参数 . 您可以提供 -ppassword 或仅提供 -p ,并且会以交互方式要求您输入密码 . 另请注意,某些instalations可能使用mysql(非root用户)作为管理用户 . 检查sqlyog配置以获取有效的连接参数 .

  • 8

    如果你仍然没有访问db,1 . 在你的错误信息设置没有密码对吗?然后先输入mysqlpasswd'username',然后再按要求再给它一个密码类型,如果你是root用户再尝试用mysql -p再次访问

  • 2

    如果你已经以root身份登录了

    mysql -u root
    

    提示密码否则将返回错误

  • 4

    请尝试“sudo mysql -u root -p” .

相关问题