我想修改网站数据库中的数据,并认为我可以通过命令行进行修改,但总是失败。例如:-
网站是 myweb.co.uk 数据库是 mydb 端口 22
mysql -u myweb -hmyweb.mysql -P22 -Dmydb
大概我只需要正确理解这三个术语就可以了
答案1
首先,22 端口是用于 ssh 的,不是用于 mysql 的。另外,在互联网上运行可见的 mysql 并不常见。
但是,如果您确实有 ssh 访问权限,则可以通过 ssh 隧道化 mysql 来解决这个问题。
在一个终端中,运行
ssh -L 3306:localhost:3306 example.com
其中 example.com 是远程 ssh 服务器。这将在本地端口 3306 和远程端之间创建一个隧道。该隧道通过 ssh 加密和传输,因此任何机密(密码和查询)在通过互联网传输时都会被加密。
在另一个终端中,你将能够运行
mysql -h localhost --protocol=TCP -u username -p
--protocol=TCP
是必需的,因为默认情况下 mysql 将连接到 localhost 上的套接字连接,但由于 mysql 不在本地运行,因此不可用。这将连接到先前设置的 ssh-tunnel。