(摘) docker使用mysql

声明:内容源自网络,版权归原作者所有。若有侵权请在网页聊天中联系我

我是比较喜欢绿色的(某些除外),它们称为洁僻。docker东西算比较绿色,至少在主机上文件少,基本知道是些啥。要不主机上随着时间一久,啥都有。之前想找绿色版的mysql安装,想想还是docker又潮又绿…

顺便也讲讲我对docker的理解。

  1. 拉回来:docker pull mysql 

  2. 建容器:

docker run -di --name ease_mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
-p 映射容器里的3306到物理PC的3306

-e 容器中的环境变量设置了root密码

拉回来是映像,docker是不会去修改它的,而是建一个容器,也就是一个复印件,原件不动。

虽说有了复印件,但是一直是需要原件作参考的(原件一直在用,复印件只是在原件基础上作增加或删除标记。这样的复印件即可以添加,又感觉可以删除,文件还小)。所以在删除的时候,还不能直接删除原件,必须先把所有复印件删除完,才能删除原件。
  1. 进入容器:docker exec -it ease_mysql /bin/bash

  2. 在容器中登陆mysql:mysql -u root -p,输入设置那个123456

  3. 其它关于mysql设置

    Navicat 远程连接docker容器中的mysql 报错1251 - Client does not support authentication protocol 解决办法

    主要是新版本中,mysql加密和授权方式有变化

  4. 查看版本信息:status;

  5. 进行授权远程连接:

    GRANT ALL ON . TO ‘root’@’%’; 授权

    flush privileges; 刷新权限

    此时,还不能远程访问,因为Navicat只支持旧版本的加密,需要更改mysql的加密规则

  6. 更改加密规则:ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER;

  7. 更新root用户密码:ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘123456’;

  8. 刷新权限:flush privileges;

相关文章