mysql -u user -p pass -h remotehost Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 96 Server version: 5.1.36-community-log MySQL Community Server (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
假设远程主机的操作系统是linux,
如何切换到shell模式?
UPDATE
我通过shell提示符访问数据库。
我打算访问远程主机的 shell提示符,inputexit将返回到我自己的shell提示符。
拥有数据库访问权并不意味着您拥有shell权限。 我有一个工作数据库,许多同事可以通过一些用户/密码组合访问这个数据库。 但是,他们都没有shelllogin,因为他们不需要它。
一个MySQL连接和一个“shell”连接是完全独立的 ,即使它们看起来是一样的地址。 你不能直接从一个切换到另一个。 您必须退出MySQL客户端并在其位置启动SSH客户端。
mysql -u用户-p传递-h远程主机
我把它从你自己的机器上运行上面的命令连接起来。
没有办法从mysql shell中获得对系统shell的远程访问,所以除非你没有为远程主机提供一个系统login帐户,否则你很可能不太好运。
提供了一个login帐户,通常可以使用SSH或telnet来访问远程主机。
你没有描述你如何“获得数据库”。 如果是通过shell提示符执行mysql客户端,那么只需退出mysql控制台就会将您退回到shell。 但是,如果你的数据库访问是通过web(例如phpmyadmin),你不能只是“切换到shell”。
需要更多信息。
出于安全原因,您无法从MySQL监视器获取shell。 除非系统使用pam_mysql对数据库进行身份validation, 并且可以添加新的数据库用户(出于安全考虑,这两个数据库用户都是不可能的)。
实际上,如果mysql以root用户身份运行,并且您拥有特定的权限,那么您可能会遇到麻烦,因为它会授予您与mysql帐户本身相同的用户访问权限。
因为你甚至可以做我认为的唯一的原因就是获得一个你没有特权或权利的系统,我不会说因为这是不道德的,但我可以肯定地说有一个办法。