linux环境使用docker安装mysql
效果图
拉取指定mysql版本
docker pull mysql:5.7
查看mysql的镜像
运行mysql指定mysql配置
docker run --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
其中some-mysql
是要分配给容器的名称,my-secret-pw
是要为 MySQL root 用户设置的密码,tag
是指定所需 MySQL 版本的标签
登录docker中的mysql
docker exec -it mysql-test mysql -u root -p
新建账号并授权
use mysql;
查看信息 SELECT `host`,`user`,authentication_string FROM `user`;
创建账号
CREATE USER 'tutu'@'%' IDENTIFIED BY '1111';
账号授权
GRANT ALL PRIVILEGES ON *.* TO 'tutu'@'%';
刷新权限
FLUSH PRIVILEGES;
如果需要卸载docker的mysql,可以使用下面的命令
如何卸载docker中mysql 首先查看 docker ps docker stop <container-id-or-name> 删除mysql容器 docker rm <container-id-or-name> 查找Mysql镜像 docker images | grep mysql 删除mysql镜像 docker rmi <image-id> 打印所有容器 docker ps -a | grep mysql 列举docker中和mysql有关镜像 docker images | grep mysql
最后给出账号删除的方式 drop user XXX;删除已存在的用户,默认删除的是'XXX'@'%'这个用户,如果还有其他的用户如'XXX'@'localhost'等, 不会一起被删除。如果要删除'XXX'@'localhost',使用drop删除时需要加上host即drop user 'XXX'@'localhost'。 delete from user where user='XXX' and host='localhost';其中XXX为用户名,localhost为主机名。 区别 drop不仅会将user表中的数据删除,还会删除其他权限表的内容。而delete只删除user表中的内容, 所以使用delete删除用户后需要执行FLUSH PRIVILEGES;刷新权限,否则下次使用create语句创建用户时会报错。