mysql中字符编码的与表名大小写的设置

本文指导如何在安装MySQL时进行详细配置,包括选择字符编码如utf-8,并通过修改my.ini文件来实现大小写敏感性的设置。

     在安装mysql时,当弹出配置数据库服务器的对话框时,选择"detailed config“[详细配置],当出现让你选择字符编码时从下拉列表中选择"utf-8"或者其他编码就可以了。如果想在mysql中区分大小写,在mysql安装目录中找到my.ini文件,在其中添加一句  lower_case_table_names = 0   此处设置为1表示不区分大小写,0表示区分大小写

### 如何在 Docker 中运行 MySQL 并配置不区分大小写 在 Docker 中运行 MySQL 时,可以通过调整 `lower_case_table_names` 参数来实现不区分大小写的配置。此参数控制数据库中的是否区分大小写。 #### 配置方法 通过挂载自定义的 MySQL 配置文件到容器中,可以在启动容器时指定该参数。以下是具体操作: 1. **创建自定义配置文件** 创建一个为 `my.cnf` 的配置文件,在其中添加如下内容: ```ini [mysqld] lower_case_table_names=1 character-set-server=utf8mb4 collation-server=utf8mb4_general_ci ``` - `lower_case_table_names=1`: 示强制将所有转换为小写并存储,查询时不区分大小写。 - `character-set-server=utf8mb4`: 设置服务器默认字符集为 UTF-8 (支持完整的 Unicode 编码)[^3]。 - `collation-server=utf8mb4_general_ci`: 设置排序规则为忽略大小写。 2. **挂载配置文件至容器** 使用 `-v` 参数将本地配置文件挂载到容器内的 `/etc/my.cnf` 路径下。命令如下: ```bash docker run -d \ -p 3306:3306 \ --privileged=true \ -v /path/to/local/my.cnf:/etc/my.cnf \ -v /zzyyuse/mysql/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=123456 \ --name mysql \ mysql:5.7 ``` 这里 `/path/to/local/my.cnf` 是主机上保存的配置文件路径[^4]。 3. **验证配置生效** 启动容器后进入 MySQL 控制台,执行以下 SQL 查询确认配置已应用: ```sql SHOW VARIABLES LIKE 'lower_case_table_names'; ``` 如果返回值为 `1`,则示成功启用不区分大小写的模式[^1]。 #### 注意事项 - 修改 `lower_case_table_names` 参数仅适用于新创建的数据目录。如果已有数据,则无法更改此项设置,需重新初始化数据目录[^2]。 - 推荐在 Windows 或 macOS 上始终设置 `lower_case_table_names=1`,因为这些操作系统本身对文件系统称处理存在差异,可能导致意外行为。 ```python # 示例 Python 代码用于测试连接 MySQL 数据库 import pymysql connection = pymysql.connect( host="localhost", user="root", password="123456", database="test_db" ) try: with connection.cursor() as cursor: sql = "CREATE TABLE IF NOT EXISTS TestTable (id INT, name VARCHAR(255))" cursor.execute(sql) finally: connection.close() ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值