docker 启动mysql8.0 怎么设置character_set_system=UTF-8,而不是utf8mb3
时间: 2024-03-20 09:45:08 浏览: 212
可以通过以下步骤设置MySQL 8.0的character_set_system为UTF-8编码:
1. 运行以下命令拉取MySQL 8.0的镜像:
```
docker pull mysql:8.0
```
2. 运行以下命令启动MySQL容器,并设置character_set_system为UTF-8:
```
docker run --name mysql8.0 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
```
其中,--character-set-server和--collation-server参数用于设置MySQL服务器的默认字符集和排序规则,这里设置为utf8mb4和utf8mb4_unicode_ci。
3. 在MySQL容器中创建数据库,可以使用以下命令:
```
docker exec -it mysql8.0 mysql -uroot -p123456 -e "CREATE DATABASE test CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
```
其中,test为要创建的数据库名称,CHARACTER SET和COLLATE用于指定该数据库的字符集和排序规则。
4. 验证MySQL容器中character_set_system是否为UTF-8,可以使用以下命令:
```
docker exec -it mysql8.0 mysql -uroot -p123456 -e "show variables like 'character_set_system';"
```
如果输出结果为UTF-8,则说明成功将character_set_system设置为UTF-8编码。
阅读全文