mysql8的my.cnf配置注意的地方

2025-10-25 09:46:08

1、当遇到ERROR 1418,是因为

在my.cnf中设置

log_bin_trust_function_creators=1,因为如果设置为0(默认值),用户不得创建或修改存储函数

mysql8的my.cnf配置注意的地方

2、当遇到1055后,因为设置my.cnf,导致数据库启动有误:sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

mysql8的my.cnf配置注意的地方

3、当遇到报错数据库中表找不到的Java报错时候,因为Java中的是大写的表格,但是数据库是小写的表名,导致报错,这时需要忽略mysql大小写,彻底解决的

办法是:在my.cnf中 加入lower_case_table_names=1,但是在已经安装好并初始化后的mysql中直接加入,会发现不能启动数据库里,原因是这个设置跟数据库绑定设置,所以需要重新初始化一遍mysql,在新建数据库

rm -rf /var/lib/mysql

注意:这个mysql目录存放的是所有数据库的数据,生产环境不要轻易尝试,在线下环境,最好先导出所有数据,在执行该语句

mysql8的my.cnf配置注意的地方

4、再设置一下lower_case_table_names=1,然后重新初始化一遍mysql,就可以正常启动了

初始化流程:mysqld --initialize --user=root

mysqld --initialize-insecure --user=root

groupadd mysql

useradd - g mysql -m mysql

---执行上面的,可能说已存在,不管他

chown mysql:mysql /var/lib/mysql -R

chown -R mysql /var/lib/mysql

//启动mysql

 

systemctl start mysqld.service

//查看系统的初始密码:

grep 'temporary password' /var/log/mysqld.log

看到最新的密码记录下来,执行mysql -uroot -p 

//输入记录下的密码

然后进行设置新密码相关操作,最后就会发现java项目不会报错找不到表露,因为已经解决忽略大小写

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢