在Bash中连接到MySQL(未安装MySQL)


11

我正在尝试连接到Bash中的远程MySQL数据库。在托管数据库的服务器上,我可以输入:

mysql -u _username_ -p

连接。

我希望能够输入:

mysql -h _host_ -u _username_ -p

从另一台服务器连接。我没有在客户端上安装MySQL,因此找不到命令。除了整个MySQL服务器之外,还有什么我可以安装(首选apt-get)的东西,以便可以在bash中使用mysql命令吗?


1
apt-get install mysql-client我认为这仅适用于GUI客户端。
user722307

您可以回答自己的问题,一段时间后也可以接受。
enzotib 2012年

Answers:


21

要安装命令行MySQL客户端,您应该执行以下操作:

sudo apt-get install mysql-client

然后你可以做

mysql -h HOST -P PORT_NUMBER -u USERNAME -p

但是,您可能需要更改MySQL服务器的设置。默认情况下,在ubuntu上,MySQL服务器将仅接受来自本地服务器的连接。设置被调用bind-address并在中设置/etc/mysql/my.cnf。默认情况下为127.0.0.1-您应将其更改为服务器的IP地址。如果服务器有多个IP地址,则可以只选择一个IP地址(例如用于内部网络),或者让MySQL通过设置该值来监听所有IP地址0.0.0.0

您还需要确保MySQL用户可以访问数据库。按照Internet上的说明,您可能已经创建了用户'myname'@'localhost'-该用户将无法远程连接。要创建可以通过您的客户端IP地址进行连接的新用户,您需要执行以下操作:

GRANT ALL PRIVILEGES ON database_name TO 'username'@'192.168.0.51' IDENTIFIED BY 'password';

阅读更多有关MySQL使用的地址规范的信息

最后,不要忘记确保服务器防火墙允许访问MySQL端口-默认值为3306。

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.