远程访问docker容器中的MySQL
1. 增加MySQL远程访问权限
修改docker容器中/etc/mysql/mysql.conf.d/mysqld.cnf 文件。
不同版本的mysql文件名不一样,可能不叫mysqld.cnf,一般在mysql.conf.d文件夹下有类似 *sever.cnf的文件
我这里是/etc/mysql/mariadb.conf.d/50-server.cnf
找到bind-address = 127.0.0.1 这一行
改为bind-address = 0.0.0.0 即可
2. 给用户增加远程访问权限
root进入mysql,给指定用户增加权限,%代表所有ip均可访问数据库,不安全,正式环境应替换为某一具体ip。
GRANT ALL PRIVILEGES ON *.* TO 账号@'%' IDENTIFIED BY '密码';
flush privileges;
3.一定要重启mysql
service mysql restart
4.Dockerfile暴露端口
# mysql access port
EXPOSE 3306