本文选择安装的mysql版本为5.7 ,安装环境 mac
1、查看镜像是否存在
docker search mysql:5.7

2、拉取镜像
docker pull mysql:5.7

3、运行镜像
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root1234 -d mysql:5.7
--name:指定容器名称,这里指定的名称为mysql
-e:指定环境参数,e是environment的缩写
-p 3336:3306:对外映射容器内的端口号
-d:后台运行
mysql:5.7:运行5.7这个版本的mysql其他:
--character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci 设置数据库默认编码
ps:推荐将影响容器运行模式的参数放在前面,比如
-d(detached 模式)和-it(交互式模式)
docker ps 查看运行的容器

4、执行 sql 命令
- 进入容器内部 docker exec -it mysql bash
指定用户进入:docker exec -it mysql(容器名) mysql -uroot -p
- 创建新数据库 CREATE DATABASE newdatabase;
-
创建一个新用户,并为其指定密码
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'newpassword';
-
使用
GRANT语句为新用户授权,允许其对新数据库进行操作
GRANT ALL PRIVILEGES ON newdatabase.* TO 'newuser'@'localhost' identified by 'root' ;
这里将授予用户 newuser 对 newdatabase 数据库的所有表的所有权限。根据您的需要,可以授予更具体的权限。
privilegesCode表示授予的权限类型
- all privileges:所有权限。
- select:读取权限。
- delete:删除权限。
- update:更新权限。
- create:创建权限。
- drop:删除数据库、数据表权限。
username@host表示授予的用户以及允许该用户登录的IP地址。
- localhost:只允许该用户在本地登录,不能远程登录。
- %:允许在除本机之外的任何一台机器远程登录。
- 192.168.xx.xx:具体的IP表示只允许该用户从特定IP登录。
-
权限更改生效 FLUSH PRIVILEGES;
-
退出MySQL:输入
exit命令退出MySQL命令行界面。
小贴士:
- docker 命令无法执行,首先看下环境变了配置是否正确
export PATH=/Applications/Docker.app/Contents/Resources/bin/:$PATH
![[AI]-(第1期):OpenAI-API调用](https://img-blog.csdnimg.cn/direct/ac5b636ff9aa442890bd935cb754330a.jpeg#pic_center)









![[更改挂载点]重新挂载硬盘](https://img-blog.csdnimg.cn/direct/e8464e0a6b81462da688a71b63aca92c.png)








