Docker运行着mysql,如何查看版本号,并修改字符集
时间: 2025-03-20 15:10:01 浏览: 57
在Docker容器中运行MySQL时,可以通过以下步骤查看MySQL版本号并修改字符集:
### 查看 MySQL 版本号
1. **进入正在运行的 Docker 容器**
首先需要找到正在运行的 MySQL 容器ID或名称。可以使用命令 `docker ps` 列出所有正在运行的容器。
```bash
docker exec -it <container_id_or_name> bash
```
这将打开容器内的 shell 环境。
2. **登录到 MySQL 数据库**
使用 mysql 命令行工具连接数据库。假设 root 用户密码已设置,则输入以下内容:
```sql
mysql -u root -p
```
3. **查询版本信息**
登录成功后,在 MySQL 提示符下输入以下 SQL 查询以获取当前版本号:
```sql
SELECT VERSION();
```
---
### 修改默认字符集和排序规则
如果想更改全局范围内的字符集配置,例如从 latin1 改为 utf8mb4,请按以下操作完成:
#### 方法一:直接编辑 my.cnf 文件 (推荐)
某些官方镜像会生成 `/etc/mysql/my.cnf` 或者类似位置下的自定义文件。如果没有此文件,也可以创建一个新的配置文件覆盖原有值。
添加如下内容至 `[mysqld]` 节点下面:
```ini
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
```
保存退出之后重启服务即可生效。
```bash
service mysql restart
# 如果上述失败尝试第二种方法
docker restart <your_container>
```
#### 方法二:动态调整(仅临时有效)
对于不想改变基础镜像又希望快速切换的情况来说,可以直接通过SQL指令实时更改编码规则:
```sql
SET GLOBAL character_set_server = 'utf8mb4';
SET GLOBAL collation_server = 'utf8mb4_general_ci'; -- 根据需求选择具体的校对规则
```
注意这种方式只会在本次 session 生命周期内起作用!
最后验证结果是否正常:
```sql
SHOW VARIABLES LIKE 'char%';
```
阅读全文
相关推荐

















