Ubuntu安裝mysql后配置/etc/my.cnf配置文件沒生效,解决办法
centos安裝mysql后配置/etc/my.cnf配置文件沒生效,解决办法1、问题描述在centos上安装mysql数据后集成Flowable工作流软件后,发现自动生成的表名全部为大小,但之前之间的程序都是用的小写的表名,自写sql执行时报找不到表。一番google发现linux上的mysql默认区分表名大小写,需要修改数据库配置。按照这个博客上描述的方法在/etc/my.c...
·
Ubuntu安裝mysql后配置/etc/my.cnf配置文件沒生效,解决办法
1、问题描述
在Ubuntu上安装mysql数据后集成Flowable工作流软件后,发现自动生成的表名全部为大小,但之前之间的程序都是用的小写的表名,自写sql执行时报找不到表。一番google发现linux上的mysql默认区分表名大小写,需要修改数据库配置。按照这个博客上描述的方法在/etc/my.cnf 文件中添加 lower_case_tables_name = 1 ,重启数据库发现参数并没有生效。
2、问题产生原因
linux内核中有一个强制访问控制系统——Apparmor (具体介绍可参考:https://www.cnblogs.com/-Lei/archive/2013/02/24/2923947.html)限制了mysql服务的文件访问范围。
查看自己服务器上的配置
cat /etc/apparmor.d/usr.sbin.mysqld
可以看到mysql配置文件所在的配置/etc/my.cnf没有访问权限。
3、解决办法
修改配置文件 /etc/apparmor.d/usr.sbin.mysqld
vi /etc/apparmor.d/usr.sbin.mysqld
添加一行
重启系统
reboot
执行查询命令
show VARIABLES LIKE '%table_names%'
修改成功,
将数据库中flowable自动创建的表删除重启应用,发现表名已成功切换为小写。
更多推荐
已为社区贡献1条内容
所有评论(0)