docker mysql 8.0.39
时间: 2025-03-03 17:40:14 浏览: 76
### 安装和配置 MySQL 8.0.39
#### 下载 MySQL 镜像
为了在 Docker 中部署 MySQL 8.0.39 版本,首先需要拉取对应的镜像文件。这可以通过 `docker pull` 命令完成:
```bash
docker pull mysql:8.0.39
```
此命令会从 Docker Hub 上获取指定版本的官方 MySQL 映像[^1]。
#### 启动容器并设置环境变量
启动一个新的 MySQL 实例时可以定义多个参数来定制化这个过程。下面是一个典型的例子,它指定了端口映射、设置了根密码以及启用了自动重启功能:
```bash
docker run -d \
--name=mysql-server \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=yourpasswordhere \
--restart unless-stopped \
mysql:8.0.39
```
这里 `-d` 表示以后台模式运行;`--name` 给定容器名称以便于管理;而通过 `-e` 参数传递给新实例一些必要的环境变量,比如上面的例子中设定了 ROOT 用户的初始登录密码[^2]。
#### 数据持久化存储
为了避免数据丢失,在创建容器的时候还可以挂载本地目录到容器内部用于保存数据库文件和其他重要资料。例如:
```bash
-v /path/on/host/to/logs:/var/log/mysql \
-v /path/on/host/to/data:/var/lib/mysql \
-v /path/on/host/to/config:/etc/mysql \
-v /etc/localtime:/etc/localtime:ro \
```
这些选项允许将宿主机上的路径分别绑定至容器内的日志位置、数据目录、配置文件夹及时间区域设定处[^3]。
#### 修改默认字符集与校验规则
有时可能希望调整表名大小写的敏感度或是其他全局属性。可以在启动命令里加入额外的环境变量来进行此类更改:
```bash
-e LOWER_CASE_TABLE_NAMES=1 \
```
上述代码片段使得所有新建表格的名字都将以小写字母形式被记录下来。
#### 更改身份验证插件(针对客户端连接)
对于某些图形界面工具来说,默认的身份验证机制可能会造成兼容性问题。这时就需要修改用户的认证方法为更传统的 `mysql_native_password` 方式:
```sql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new-password';
FLUSH PRIVILEGES;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'new-password';
FLUSH PRIVILEGES;
```
这段 SQL 脚本应该被执行一次以确保能够顺利地使用特定的应用程序访问服务器[^5]。
阅读全文
相关推荐















