docker部署mysql 实现远程连接

1.docker search mysql   查看mysql版本

2.docker pull mysql  要选择starts最高的那个name 进行下载

3.docker images  查看下载好的镜像

4.启动mysql实例

docker run --name dockermysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql

 --name 为mysql的实例设置别名。 -p 3307为对外暴露的端口。3306是内部端口;

  需在云服务器开放相应的端口:如在阿里云云服务器管理员控制台--》安全组--》选择对应的服务器--》添加安全组规则--》

 -e MYSQL_ROOT_PASSWORD 设置mysql登录密码  -d 以守护进程运行(后台运行) 最后的mysql是镜像名称

5.docker ps -a 查看在运行的

6.docker exec -it dockermysql bash     进入容器内部  dockermysql 是上边运行时为容器取的别名 也可以用id替代

7.mysql -u root -p      然后直接输入密码即可 密码是在运行时设置的

8.grant all privileges on *.*  to ‘root‘@‘%‘ ;   给用于授予权限

  GRANT ALL PRIVILEGES ON *.*  ‘root‘@‘%‘ identified by ‘123123‘ WITH GRANT OPTION;  这是网上流传较多的写法。实际上会报错的。

9.flush privileges;  刷新权限

10.登录

注意:端口号

转载自:https://www.jb51.net/article/169141.htm

原文地址:https://www.cnblogs.com/qc-wh/p/12048997.html

时间: 2024-11-01 20:55:44

docker部署mysql 实现远程连接的相关文章

Docker - 部署MySQL, Redis

部署MySQL 拉取MySQL镜像 docker pull mysql:5.7 创建MySQL容器 docker run -di --name=mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql # 这里做了映射 -p 代表端口映射,格式为  宿主机映射端口:容器运行端口 -e 代表添加环境变量  MYSQL_ROOT_PASSWORD 是root用户的登陆密码 远程登录mysql,连接宿主机的IP ,指定端口为3306 部署Redis

MySQL开启远程连接的方法

原文地址 http://www.cnblogs.com/linjiqin/p/5270938.html 配置mysql允许远程连接的方法 默认情况下,mysql只允许本地登录,如果要开启远程连接,则需要修改/etc/mysql/my.conf文件. 一.修改/etc/mysql/my.conf找到bind-address = 127.0.0.1这一行改为bind-address = 0.0.0.0即可 二.为需要远程登录的用户赋予权限1.新建用户远程连接mysql数据库grant all on

MySQL数据库远程连接开启方法

第一中方法:比较详细以下的文章主要介绍的是MySQL 数据库开启远程连接的时机操作流程,其实开启MySQL 数据库远程连接的实际操作步骤并不难,知识方法对错而已,今天我们要向大家描述的是MySQL 数据库开启远程连接的时机操作流程. 1.d:\MySQL\bin\>MySQL -h localhost -u root 这样应该可以进入MySQL服务器 复制代码代码如下: MySQL>update user set host = '%' where user = 'root'; MySQL>

mysql 打开远程连接

1.在控制台执行 mysql -u root -p mysql,系统提示输入数据库root用户的密码,输入完成后即进入mysql控制台,这个命令的第一个mysql是执行命令,第二个mysql是系统数据名称,不一样的. 2.在mysql控制台执行 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'MyPassword' WITH GRANT OPTION; 3.在mysql控制台执行命令中的 ‘root'@'%' 可以这样理解: ro

mysql允许远程连接

1. 3306端口是不是没有打开? 使用nestat命令查看3306端口状态: ~# netstat -an | grep 3306 tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN 从结果可以看出3306端口只是在IP 127.0.0.1上监听,所以拒绝了其他IP的访问. 解决方法:修改/etc/mysql/my.cnf文件.打开文件,找到下面内容: # Instead of skip-netw

mysql 开启远程连接指定的数据库

mysql 开启远程连接指定的数据库 grant all privileges on `my_db`.* to 'username'@'%' identified by 'passwod' WITH GRANT OPTION; FLUSH PRIVILEGES; FLUSH PRIVILEGES; my_db 表示要连接的数据库(提前建好) ,前面username这个是数据名字:后面passwod数据库密码

mysql 不能远程连接

不想浪费大家时间,我这文章记录了我在vagrant上架的mysql远程连接不上的问题,不过我在整理时发现这个下面这个链接,如果我一开始能找到这个我就不会绕那么多弯了.不想看我是怎么一步步调错过程的请直接看下面地址,我也将内容复制到了地址下面了.自己调试过程有点长,当记录吧,有兴趣的可以看下,也许对你有帮助 http://www.jb51.net/article/33813.htm vim /etc/my.cnf 注释这一行:bind-address=127.0.0.1 ==> #bind-add

mysql 授予远程连接直接访问

不通过ssh通道,mysql 授予远程连接直接访问 语句 GRANT ALL PRIVILEGES ON *.* TO [email protected]'%' IDENTIFIED BY '!DSJdg!' WITH GRANT OPTION; 后来revoke 一下,错误. 重新grant 出现错误. mysql> GRANT ALL PRIVILEGES ON *.* TO [email protected]'%' IDENTIFIED BY '!DSJdg!' WITH GRANT OP

[转]配置mysql允许远程连接的方法

配置mysql允许远程连接的方法 vim /etc/my.cnf注释这一行:bind-address=127.0.0.1 ==> #bind-address=127.0.0.1保存退出.mysql -uroot -p123456 为需要远程登录的用户赋予权限: 复制代码代码如下: mysql> GRANT ALL PRIVILEGES ON *.* TO [email protected]"%" IDENTIFIED BY "123456";mysql&