我是比较喜欢绿色的(某些除外),它们称为洁僻。docker东西算比较绿色,至少在主机上文件少,基本知道是些啥。要不主机上随着时间一久,啥都有。之前想找绿色版的mysql安装,想想还是docker又潮又绿…
顺便也讲讲我对docker的理解。
-
拉回来:docker pull mysql
-
建容器:
docker run -di --name ease_mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
-p 映射容器里的3306到物理PC的3306
-e 容器中的环境变量设置了root密码
拉回来是映像,docker是不会去修改它的,而是建一个容器,也就是一个复印件,原件不动。
虽说有了复印件,但是一直是需要原件作参考的(原件一直在用,复印件只是在原件基础上作增加或删除标记。这样的复印件即可以添加,又感觉可以删除,文件还小)。所以在删除的时候,还不能直接删除原件,必须先把所有复印件删除完,才能删除原件。
-
进入容器:docker exec -it ease_mysql /bin/bash
-
在容器中登陆mysql:mysql -u root -p,输入设置那个123456
-
其它关于mysql设置
Navicat 远程连接docker容器中的mysql 报错1251 - Client does not support authentication protocol 解决办法
主要是新版本中,mysql加密和授权方式有变化
-
查看版本信息:status;
-
进行授权远程连接:
GRANT ALL ON . TO ‘root’@’%’; 授权
flush privileges; 刷新权限
此时,还不能远程访问,因为Navicat只支持旧版本的加密,需要更改mysql的加密规则
-
更改加密规则:ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER;
-
更新root用户密码:ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
-
刷新权限:flush privileges;