安装sql出现错误(Discuz如何解决安装时报错run_sql_error)
本文实现功能
解决在MySQL8.0安装discuz报错run_sql_error
如果想直接看解决结果 ,直接去看解决问题目录
问题环境
VMware虚拟机
Centos7.3
PHP7.0
MySQL8.0
NGINX1.14
Discuz3.4
问题还原
本地环境为PHP5.6+MySQL5.6在安装discuz没有任何问题 。
在虚拟机的centos上出现以下问题MySQL的表无法创建 ,安装报错
宿主机使用Xsheel和Ftp
由于在centos的终端截图不方便 ,下面的所有环境修改都会在xshell上进行操作 ,并且直接在宿主机上访问 。
关于配置如何使用xsheel连接虚拟机
连接模式为NAT ,并且已经安装了tools
使用xsheel连接 ,在虚拟机使用ifconfig查看ip地址
然后进行连接 ,需要输入账号密码 ,账号密码就是你的虚拟机账号密码
连接成功就是以下样子 ,可以输入PHP -v来查看PHP版本信息
还有一个就是ftp ,由于需要传输点东西所以也使用了宿主机的ftp连接了虚拟机 。同理也是输入ip地址并且端口为22
连接成功后就可以获取到虚拟机的文件
解决问题
这个问题的根源就是在MySQL的版本上 。discuz支持的版本为PHP5.3.但是所有的数据库文件都是在MySQL5.5上创建的 。所以就会造成字符集乱码的情况 。
这个时候我们打开/etc/my.ini,这个是默认的一些配置 ,下面的那个mysqldump不用管 ,那个是咔咔在之前配置MySQL主从复制以有数据的情况配置的 。
在这个文件里边加上以下代码
init_connect=SET NAMES utf8 default-storage-engine=INNODB character-set-server=utf8 collation-server=utf8_general_ci default_authentication_plugin=mysql_native_password在mysql8.0所有的存储引擎都是innodb,所以这里直接默认设置为innodb
字符集设置为utf8
default_authentication_plugin修改密码验证插件
经过以上配置完在来测试一下
测试
地址栏输入http://192.168.254.130/forum/install/index.php ,然后一直下一步即可 。在这里输入你的数据库账号密码
点击确认 ,就不会出现报错了
访问论坛就可以了
在查看数据库
查看表数一共是292张表
然后来到本地之前安装好的数据库里查看数量也是292
总结
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!