1P面板部署网站换回宝塔后常见问题及解决办法
不知道大家有没有遇到过这样的情况:先用1P面板部署了一个网站,之后换回宝塔面板时,突然出现了一些问题。下面为大家详细介绍这些问题及解决办法。
一、phpMyAdmin不兼容PHP版本问题
问题描述
出现报错提示为phpMyAdmin 不兼容你的PHP版本。
Fatal error: Uncaught mysqli_sql_exception: SELECT command denied to user 'yourdbuser'@'localhost' for table 'user' in /www/server/phpmyadmin/phpmyadmin_[hidden]/libraries/classes/Dbi/DbiMysqli.php:199
Stack trace:
#0 /www/server/phpmyadmin/phpmyadmin_[hidden]/libraries/classes/Dbi/DbiMysqli.php(199): mysqli->query()
#1 /www/server/phpmyadmin/phpmyadmin_[hidden]/libraries/classes/DatabaseInterface.php(316): PhpMyAdmin\Dbi\DbiMysqli->realQuery()
#2 /www/server/phpmyadmin/phpmyadmin_[hidden]/libraries/classes/DatabaseInterface.php(2387): PhpMyAdmin\DatabaseInterface->tryQuery()
#3 /www/server/phpmyadmin/phpmyadmin_[hidden]/libraries/classes/DatabaseInterface.php(2332): PhpMyAdmin\DatabaseInterface->isUserType()
#4 /www/server/phpmyadmin/phpmyadmin_[hidden]/libraries/classes/Menu.php(562): PhpMyAdmin\DatabaseInterface->isSuperuser()
#5 /www/server/phpmyadmin/phpmyadmin_[hidden]/libraries/classes/Menu.php(107): PhpMyAdmin\Menu->_getServerTabs()
#6 /www/server/phpmyadmin/phpmyadmin_[hidden]/libraries/classes/Menu.php(70): PhpMyAdmin\Menu->_getMenu()
#7 /www/server/phpmyadmin/phpmyadmin_[hidden]/libraries/classes/Header.php(445): PhpMyAdmin\Menu->getDisplay()
#8 /www/server/phpmyadmin/phpmyadmin_[hidden]/libraries/classes/Response.php(323): PhpMyAdmin\Header->getDisplay()
#9 /www/server/phpmyadmin/phpmyadmin_[hidden]/libraries/classes/Response.php(336): PhpMyAdmin\Response->_getDisplay()
#10 /www/server/phpmyadmin/phpmyadmin_[hidden]/libraries/classes/Response.php(495): PhpMyAdmin\Response->_htmlResponse()
#11 [internal function]: PhpMyAdmin\Response->response()
#12 {main}
thrown in /www/server/phpmyadmin/phpmyadmin_[hidden]/libraries/classes/Dbi/DbiMysqli.php on line 199解决办法
在宝塔面板的版本切换处,将PHP版本切换回7.4版本。

二、数据库导入失败问题
问题描述
数据库导入失败,报错显示为“#1046 - No database selected”或者出现关于“utf8mb4_0900_ai_ci” 的报错。这是由于从1P面板的MySQL8.0高版本转换到宝塔的MySQL5.7版本导致的。
解决办法
最佳解决办法
备份好数据库,卸载5.7的版本,安装回8.0的版本,如果配置问题或者其他原因安装不了,那么可以参照下面
1. 导出数据做备份
使用 mysqldump 命令将 MySQL 8.0 数据库导出为 SQL 文件。具体命令如下:
mysqldump -u 用户名 -p --databases 数据库名 > data.sql或者,使用导如UI也行
2. 修改 SQL 文件
因为 MySQL 8.0 和 5.7 的字符集和排序规则有所不同,所以需要对导出的 SQL 文件进行修改。主要涉及以下替换操作:
使用文本管理工具,操作:
- 将
utf8mb4_0900_ai_ci替换为utf8_general_ci - 将
CHARSET=utf8mb4替换为CHARSET=utf8
或者使用命令:
我们既可以使用文本编辑器手动完成替换,也可以借助命令行工具 sed 来快速实现。使用 sed 命令如下:
sed -i's/utf8mb4_0900_ai_ci/utf8_general_ci/g' data.sql
sed -i's/CHARSET=utf8mb4/CHARSET=utf8/g' data.sql3. 重新导入
使用UI或者命令进行导入
mysql -u 用户名 -p 新数据库名 < data.sql小贴士:在进行面板切换操作前,建议备份好网站数据及数据库,避免因版本差异或操作问题造成数据丢失。同时,关注不同面板及相关组件版本兼容性,有助于减少此类问题发生。
©版权声明
文章版权归作者所有,未经允许请勿转载。
THE END

暂无评论内容