ECJiaWiki:关于安装时MySQL报错的解决方案
跳到导航
跳到搜索
目录
错误案例
安装 ECJia到家时出现的 MySQL 报错: |
什么原因
MySQL5.6以前与MySQL5.6.6以后的sql_mode配置参数不一致,这些参数的变化导致 sql 语句执行出现问题。之前一些不太规范的写法在5.6之前都可以使用,但是在5.6.6以后 sql_mode参数的改变使不规范的 sql 语句都不能使用,导致报错。 |
如何解决
1.执行SQL 语句(临时解决方案)
输入 mysql -u root -p 进入 mysql,输入如下语句 |
set sql_mode ='';
执行语句前 |
执行语句后 |
2.修改配置文件解决(永久解决方案)
1.Linux:修改 /etc/my.cnf 配置文件为如下: |
[mysqld] sql_mode=NO_ENGINE_SUBSTITUTION
2.Windows:修改 my.ini (一般会在mysql安装目录的根目录)配置文件为如下: |
[mysqld] sql-mode="NO_ENGINE_SUBSTITUTION"
3.更换 MySQL 版本(永久解决方案)
通过更换 MySQL 版本为5.5,无需修改配置文件或者执行 SQL 语句就可以解决该问题。 |
4.修改默认安装时间限制
修改安装时间限制,默认为60秒,可以修改为0,不限制时间,找到以下文件位置:content/apps/installer/index.php。 |
以上无法解决 |
1、在 MySQL 中,后面的配置会覆盖前面的配置,所以修改依次查找并修改下面文件中出现的 sql_mode |
/etc/my.cnf
/etc/mysql/my.cnf
/usr/etc/my.cnf
~/.my.cnf
2、检测根目录写入权限,可能是因为根目录没有写入权限,导致无法生成 .env 文件 |