关于MySQL的lower_case_table_names参数,在Windows系统下和在Linux系统下,默认值是不同的。
我们实际用的时候,需求的是 设置 lower_case_table_names=1。 并且MySQL8.x 必须在安装程序初始化之前设置 lower_case_table_names 才起作用,不设置的话取跟随系统的默认值。如果已经初始化之后,再在mysqld.cnf配置文件中修改 lower_case_table_names 的值,然后重启服务也不起作用。
因此,在通过deb包离线安装MySQL服务的时候,需要提前将lower_case_table_names=1的配置添加到对应的初始化安装包配置文件中,修改后重新打包成新的deb包,用修改后的deb包安装,从而保证在Ubuntu、Debian上安装的MySQL服务是库表名大小写不敏感的。修改步骤如下:
将上一步官网下载的deb包上传到Linux系统(这里以Ubuntu18.04 64位系统为例,安装包以mysql8.0.28为例)。
当然,如果上一步直接是通过Ubuntu系统下载安装包的话,这里就不用上传了。
在Ubuntu系统下解压tar包
tar -xf mysql-server_8.0.28-1ubuntu18.04_amd64.deb-bundle.tar
切换到解压目录后,需要修改配置文件重新打包的deb文件名为:mysql-community-server_8.0.28-1ubuntu18.04_amd64.deb。
dpkg -x mysql-community-server_8.0.28-1ubuntu18.04_amd64.deb ./tmp/



dpkg -e mysql-community-server_8.0.28-1ubuntu18.04_amd64.deb ./tmp/DEBIAN/


./tmp/DEBIAN/ 下查看解压出来的控制信息
./tmp/etc/mysql/mysql.conf.d/mysqld.cnf# 添加配置后配置文件如下
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
log-error = /var/log/mysql/error.log
lower_case_table_names=1

dpkg-deb -b ./tmp/ mysql-community-server_8.0.28-1ubuntu18.04_amd64_edit.deb

mysql-community-server_8.0.28-1ubuntu18.04_amd64_edit.deb,因为打包后的新deb包和旧的deb包mysql-community-server_8.0.28-1ubuntu18.04_amd64.deb在同一目录下,所以起个别名区分一下。
mysql-community-server_8.0.28-1ubuntu18.04_amd64_edit.deb 按照步骤在Ubuntu、Debian系统上安装MySQL服务,就是大小写不敏感的了。截图是在全部做完之后截的,正常情况下,
dpkg -x target.deb target/
dpkg -e target.deb target/DEBIAN/
dpkg-deb -b target/ target.deb