我有Rackspace公司的服务器。 我想从我的本地机器的命令行访问数据库。
我想这样的:
mysql -u username -h my.application.com -ppassword
但是它给出了一个错误:
ERROR 2003(HY000):
无法连接到MySQL服务器“my.application.com”(10061)
是什么原因导致这个错误,我怎么能连接到远程数据库?
我有Rackspace公司的服务器。 我想从我的本地机器的命令行访问数据库。
我想这样的:
mysql -u username -h my.application.com -ppassword
但是它给出了一个错误:
ERROR 2003(HY000):
无法连接到MySQL服务器“my.application.com”(10061)
是什么原因导致这个错误,我怎么能连接到远程数据库?
到直接登录到远程MySQL控制台上,使用下面的命令:
mysql -u {username} -p {password} \
-h {remote server ip or name} -P {port} \
-D {DB name}
它会带你到MySQL控制台直接切换到所提到的数据库。
编辑my.cnf文件:
vi /etc/my.cnf
:
请确保:
bind-address=YOUR-SERVER-IP
如果你有行:
skip-networking
确保评论吧:
#skip-networking
不要忘了重新启动:
/etc/init.d/mysqld restart
只需在Ubuntu的把这个终端:
mysql -u username -h host -p
现在点击进入
终端会询问你的密码,输入密码,你是到数据库服务器
试试这个命令mysql -uuser -hhostname -PPORT -ppassword
。
我遇到类似的情况,后来当主机MySQL端口与输入的命令,它解决了。
对于Mac,请使用以下命令:
mysql -u app -h hostaddress -P port -D dbname -p
然后在提示时输入密码。
如果你想不使用ssh隧道,在my.cnf或mysqld.cnf必须以具有通过LAN接入改变127.0.0.1与本地IP地址(192.168.1.100)。 例如波纹管:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
在my.cnf或mysqld.cnf搜索绑定地址
bind-address = 127.0.0.1
并改变127.0.0.1到192.168.1.100(本地IP地址)
bind-address = 192.168.1.100
以应用所做的更改,必须用下一个命令重新启动MySQL服务器。
sudo /etc/init.d/mysql restart
修改用户根网络包括(运行查询在远程服务器要访问波纹管)
root@192.168.1.100:~$ mysql -u root -p
..
CREATE USER 'root'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
如果你想只有从特定的IP地址,改变“根” @“%”为“根” @'(IP地址或主机名)的访问
CREATE USER 'root'@'192.168.1.100' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.100' WITH GRANT OPTION;
FLUSH PRIVILEGES;
然后,您可以连接:
nobus@xray:~$ mysql -h 192.168.1.100 -u root -p
Ubuntu的18.04服务器上测试
telnet 3306
。 如果没有打开的连接,无论是有防火墙设置或服务器没有听(或不工作)。 netstat -an
服务器上,看看服务器已启动。 这有可能是你没有允许远程连接。
见http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html
我假设你有你的机器上安装了MySQL。 填充缺失的细节后,执行下面的命令:
mysql -uUSERNAME -pPASSWORD -hHOSTNAME -P3306
必须检查传入访问端口3306是块或者不受防火墙。
你应该用“P”把你的密码
mysql -u root -u 1.1.1.1 -p'MyPass'
该解决方案为我工作:
在您的远程机器(例如:295.13.12.53)访问你的目标远程计算机(运行MySQL服务器)
ssh -f -L 295.13.12.53:3306:10.18.81.36:3306 user@295.13.12.53
解释:
ssh -f -L your_ssh_mashine_ipaddress:your_ssh_mashine_local_port:target_ipaddress:target_port user@your_ip_address -N
your_ssh_mashine_ipaddress - 它不是本地IP地址,它是使用ssh IP地址,在这个例子中295.13.12.53
your_ssh_mashine_local_port - 这是自定义的端口不是22,在本例中为3306。
target_ipaddress - 你试图转储数据库机器的IP。
target_port - 3306这是MySQL服务器实端口。
用户@ your_ip_address - 这是你连接SSH mashine SSH信用凭证
一旦全部完成,然后回到你的机器,并做到这一点:
mysqldump -h 295.13.12.53 -P 3306 -u username -p db_name > dumped_db.sql
会询问密码,把你的密码和你连接。 希望这可以帮助。
我太得到同样的错误。 但发现它有用通过创建远程MySQL服务器上新的MySQL用户ANS然后连接。 运行下面的远程服务器上的命令:
CREATE USER 'openvani'@'localhost' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'openvani'@'localhost WITH GRANT
OPTION;
CREATE USER 'openvani'@'%' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'openvani'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
现在,你可以用下面的命令远程连接mysql。
mysql -u openvani -h 'any ip address'-p
下面是完整的信息:
http://openvani.com/blog/connect-remotely-mysql-server/
试试这个,它的工作:
MySQL的-h {}主机名{-u用户名-p} {}密码-e-N “{查询执行}”