组队大项目-mysql篇-部署和连接 | 青训营笔记

151 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天

本次项目的服务器环境配置: ubuntu 18.04 腾讯云

客户端环境配置: macos

先在服务器上安装docker

安装方法可以参考 www.cnblogs.com/myzony/p/90…

可以在shell中输入该命令检查是否成功安装: sudo docker version

1.拉取官方镜像(5.7是版本号)

docker pull mysql:5.7   # 拉取 mysql 5.7
docker pull mysql       # 拉取最新版mysql镜像
  1. 检查是否拉取成功

    sudo docker images
    
  2. 一般来说数据库容器不需要建立目录映射

    sudo docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
    
    • –name:容器名,此处命名为mysql
    • -e:配置信息,此处配置mysql的root用户的登陆密码
    • -p:端口映射,此处映射 主机3306端口 到 容器的3306端口
    • -d:后台运行容器,保证在退出终端后容器继续运行
  3. 检查容器是否正确运行

    docker container ls
    
    • 可以看到容器ID,容器的源镜像,启动命令,创建时间,状态,端口映射信息,容器名字

连接mysql

  1. 进入docker本地连接mysql客户端

    sudo docker exec -it mysql bash
    mysql -uroot -p123456
    
  2. 然后要开启远程访问的话,需要进入docker本地客户端设置远程访问账号

$ sudo docker exec -it mysql bash
$ mysql -uroot -p123456
mysql> use mysql;

update user set host = '%' where user = 'root';
select  host, user, authentication_string, plugin from mysql.user;
FLUSH PRIVILEGES;
alter user 'root'@'%' identified with mysql_native_password by '123456';
grant all privileges on *.* to root@'%' identified by "password";

password是自己mysql用的密码,不是"password" mysql使用mysql数据库中的user表来管理权限,修改user表就可以修改权限(只有root账号可以修改)

%表示任何ip都可以访问

navicat连接设置

由于使用腾讯云的主机,需要配置3306的端口策略开启外网访问,然后在navicat中开启ssl,设置ssh参数和基本参数,然后点击测试连接。一般情况就可以用了