我需要通过ssh端口转发访问mysql数据库。
我这样创建转发:
ssh -n -N -f -L 3308:127.0.0.1:3306 <user@ipaddress>
在连接时,我得到错误访问被拒绝(错误1045)
使用ssh登录到远程计算机并尝试连接数据库时,一切正常。
更新:数据库托管在本地的docker容器中。作曲家文件:
mysql_XXX:
image: mysql/mysql-server:5.7
container_name: mysql_XXX
command: mysqld --character-set-server=utf8 --collation-server=utf8_general_ci --init-connect='SET NAMES UTF8;' --skip-character-set-client-handshake --lower-case-table-names=2
restart: always
ports:
- 3306:3306
environment:
- MYSQL_ROOT_PASSWORD=XXX
- MYSQL_ROOT_HOST=%
- LOWER_CASE_TABLE_NAMES=2
volumes:
- /home/ubuntu/{path}/mysql_data:/var/lib/mysql
因为我需要使用python脚本访问数据库,所以我需要端口转发解决方案。
更新: 解决方法是设置
bind-address: 0.0.0.0
在mysqld.cnf