![在 Bash 中连接 MySQL(未安装 MySQL)](https://linux22.com/image/1107654/%E5%9C%A8%20Bash%20%E4%B8%AD%E8%BF%9E%E6%8E%A5%20MySQL%EF%BC%88%E6%9C%AA%E5%AE%89%E8%A3%85%20MySQL%EF%BC%89.png)
我正在尝试在 Bash 中连接到远程 MySQL 数据库。在托管数据库的服务器上,我可以输入:
mysql -u _username_ -p
连接。
我希望能够输入:
mysql -h _host_ -u _username_ -p
从另一台服务器连接。我没有在客户端上安装 MySQL,因此找不到该命令。除了整个 MySQL 服务器之外,我还可以安装其他东西(最好是 apt-get),以便可以在 bash 中使用 mysql 命令吗?
答案1
要安装命令行 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 用户可以访问数据库。按照互联网上的说明,您可能已创建用户'myname'@'localhost'
- 该用户将无法远程连接。要创建可以从您的客户端 IP 地址连接的新用户,您需要执行以下操作:
GRANT ALL PRIVILEGES ON database_name TO 'username'@'192.168.0.51' IDENTIFIED BY 'password';
最后,不要忘记确保服务器防火墙允许访问 MySQL 端口 - 默认值为 3306。