### [Discuz如何解决安装时报错run_sql_error](https://www.prosaas.cn/article/14731) **Published:** 2020-05-15T10:39:03 **Author:** 5201314 **Excerpt:** 本文实现功能解决在MySQL8.0安装discuz报错run_sql_error如果想直接看解决结果,直接去看… > 本文实现功能 > > 解决在MySQL8.0安装discuz报错run\_sql\_error > > 如果想直接看解决结果,直接去看解决问题目录 ## 问题环境 1. VMware虚拟机 2. Centos7.3 3. PHP7.0 4. MySQL8.0 5. NGINX1.14 6. Discuz3.4 ## 问题还原 本地环境为PHP5.6+MySQL5.6在安装discuz没有任何问题。 在虚拟机的centos上出现以下问题MySQL的表无法创建,安装报错 ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231215121950654.png) ## 宿主机使用Xsheel和Ftp 由于在centos的终端截图不方便,下面的所有环境修改都会在xshell上进行操作,并且直接在宿主机上访问。 关于配置如何使用xsheel连接虚拟机 连接模式为NAT,并且已经安装了tools ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231215121950492.png) 使用xsheel连接,在虚拟机使用ifconfig查看ip地址 ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231215121950823.png) 然后进行连接,需要输入账号密码,账号密码就是你的虚拟机账号密码 ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231215121951372.png) 连接成功就是以下样子,可以输入PHP -v来查看PHP版本信息 ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231215121951360.png) 还有一个就是ftp,由于需要传输点东西所以也使用了宿主机的ftp连接了虚拟机。同理也是输入ip地址并且端口为22 ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231215121951915.png) 连接成功后就可以获取到虚拟机的文件 ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231215121951943.png) ## 解决问题 这个问题的根源就是在MySQL的版本上。discuz支持的版本为PHP5.3.但是所有的数据库文件都是在MySQL5.5上创建的。所以就会造成字符集乱码的情况。 这个时候我们打开/etc/my.ini,这个是默认的一些配置,下面的那个mysqldump不用管,那个是咔咔在之前配置MySQL主从复制以有数据的情况配置的。 ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231215121951297.png) 在这个文件里边加上以下代码 init\_connect='SET NAMES utf8' default-storage-engine=INNODB character-set-server=utf8 collation-server=utf8\_general\_ci default\_authentication\_plugin=mysql\_native\_password ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231215121951190.png) 在mysql8.0所有的存储引擎都是innodb,所以这里直接默认设置为innodb 字符集设置为utf8 default\_authentication\_plugin修改密码验证插件 经过以上配置完在来测试一下 ## 测试 地址栏输入http://192.168.254.130/forum/install/index.php,然后一直下一步即可。在这里输入你的数据库账号密码 ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231215121951722.png) 点击确认,就不会出现报错了 ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231215121951263.png) 访问论坛就可以了 ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231215121951194.png) 在查看数据库 ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231215121951437.png) 查看表数一共是292张表 ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231215121951197.png) 然后来到本地之前安装好的数据库里查看数量也是292 ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231215121951529.png) ## 总结 以上就是discuz在MySQL8.0的安装错误的方案,虽然就几行配置,但是也不是一时半会就可以解决的。 以上就是Discuz如何解决安装时报错run\_sql\_error的详细内容,更多请关注知企PROSAAS其它相关文章! **Categories:** Discuz ---