Answers:
要直接登录到远程mysql控制台,请使用以下命令:
mysql -u {username} -p'{password}' \
-h {remote server ip or name} -P {port} \
-D {DB name}
例如
mysql -u root -p'root' \
-h 127.0.0.1 -P 3306 \
-D local
文档中指定的-p后面没有空格
通过切换到上述数据库,您将直接进入mysql控制台。
31-07-2019-编辑的语法
mysql -u USERNAME -p'PASSWORD' -h REMOTE_SERVER_IP DB_NAME
编辑my.cnf文件:
vi /etc/my.cnf
:
确保:
bind-address=YOUR-SERVER-IP
如果您有一行:
skip-networking
确保发表评论:
#skip-networking
不要忘记重启:
/etc/init.d/mysqld restart
grant all privileges on *.* to 'root'@'%' identified by 'your-password'
试试这个命令 mysql -uuser -hhostname -PPORT -ppassword
。
我遇到了类似的情况,后来当使用命令输入用于主机的mysql端口时,此问题已解决。
mysql -u testuser -h 192.168.**.* -P 3306 -p password
工作对我来说
如果不想使用ssh隧道,则必须在my.cnf或mysqld.cnf中使用本地IP地址(192.168.1.100)更改127.0.0.1才能通过Lan进行访问。下面是示例:
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
修改lan acces的用户root(在要访问的远程服务器中运行查询的波纹管)
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地址,请将'root'@'%'更改为'root'@'(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 -h {hostip} -P {port} -u {username} -p {database}
例
mysql -h 192.16.16.2 -P 45012 -u rockbook -p rockbookdb
这个解决方案为我工作:
在您的远程计算机(例如: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服务器的实际端口。
user @ your_ip_address-这是您连接的ssh mashine的ssh凭据
完成所有这些操作后,请返回您的计算机并执行以下操作:
mysqldump -h 295.13.12.53 -P 3306 -u username -p db_name > dumped_db.sql
会要求输入密码,输入密码后就可以连接了。希望这可以帮助。
您应该用“ p”输入密码
mysql -u root -u 1.1.1.1 -p'MyPass'
我也遇到了同样的错误。但是通过在远程mysql服务器上创建新的mysql用户并连接来发现它很有用。在远程服务器上运行以下命令:
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
这是完整的帖子:
10061
= 连接被拒绝