Mysql 设置表名不区分大小写

前面在自己电脑上安装了Mysql8的数据库服务,数据库的表名默认是区分大小写的,在网上搜了很多文章,都只是说要在配置文件中添加 lower_case_table_names = 1;我添加该配置项后,死活就是不生效,经过一翻折腾,终于将其搞定,现记录下以备后用。

以下是重新初始化MySQL并设置 lower_case_table_names 的一般步骤:

1. 停止MySQL服务

首先,停止正在运行的MySQL服务。在Ubuntu上,可以使用以下命令:

sudo systemctl stop mysql

2. 备份数据(如果需要保留)

如果你还没有备份并且希望保存现有数据,请先做备份。这通常涉及复制整个MySQL的数据目录,但确切位置可能会根据你的配置有所不同。常见的默认位置为 /var/lib/mysql

3. 删除MySQL数据目录

删除MySQL的数据目录以清除所有数据和配置。请确认数据已备份,然后执行:

sudo rm -rf /var/lib/mysql

4. 编辑MySQL配置文件

编辑MySQL的配置文件(通常是 /etc/mysql/my.cnf/etc/mysql/mysql.conf.d/mysqld.cnf),在 [mysqld] 部分添加或修改 lower_case_table_names 的值为1,以确保表名不区分大小写:

[mysqld]
...
lower_case_table_names = 1
...

5. 重新初始化MySQL(重点在这一步)

使用 mysqld 命令行工具重新初始化数据库,确保包含新设置的 lower_case_table_names 参数。这可以通过以下命令完成(注意,可能需要指定配置文件的位置):

sudo mysqld --initialize --lower-case-table-names=1

或者,如果初始化命令不接受直接参数,确保配置文件正确设置后,直接初始化而不带额外参数:

sudo mysqld --initialize

6. 启动MySQL服务

初始化完成后,启动MySQL服务:

sudo systemctl start mysql

7. 设置root密码(如果需要)

如果MySQL初始化过程中生成了临时的root密码,你需要在首次登录时更改它。检查MySQL的错误日志(通常位于 /var/log/mysql/error.log)以找到临时密码,然后登录MySQL并更改密码。
*修改密码时注意确认是否有使用密码校验插件

注意事项

  • 重新初始化会删除所有用户和权限设置,你可能需要重新配置访问权限。
  • 操作前确保已理解每一步的影响,并已做好数据备份。
  • 具体命令和路径可能根据你的系统配置有所不同,建议参考最新的官方文档。

执行这些步骤后,MySQL将使用新的 lower_case_table_names 设置重新启动,所有新创建的表名都将不区分大小写。

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值