pbootcms数据库sqlite转mysql

PbootCMS系统 admin 592浏览

pbootcms默认采用sqlite数据库,不需要做导入和配置操作,前期非常适合PB新手,对于网站后期,建议尽量是把sqlite转换为mysql,方便网站在宝塔进行备份操作.

sqlite转mysql步骤:

  1. 打开SQLiteStudio软件,添加PB数据库(或者直接将PB程序data目录下的pbootcms.db拖拽进来)
  2. 选择导出数据库/全选文件\Next
  3. 导出格式选择"SQL"编码选择"UTF-8"导出格式选项,选择最后一个;文件输出保存目录随意选择;finshed/导出完成
  4. 打开pbootcms3.1.5 sqlite转mysql转换软件提前关闭电脑防火墙,退出杀毒软件
  5. 打开要转换的sqlite sql文件,选择③保存出来的.sql格式文件,打开后点击生成mysql sql文件
  6. 生成的文件默认命名为jieguo.sql,将该文件通过navicat导入到数据库中即可,检查有无乱码,主要是中文的字,没有的话就是ok的
  7. 修改数据库连接文件信息(/config/database.php)
<?php
/**
* 主数据库连接参数,未配置的参数使用框架惯性配置
* 如果修改为mysql数据库,请同时修改type和dbname两个参数
*/
return array(
'database' => array(
'type' => 'sqlite', // 数据库连接驱动类型: mysqli,sqlite,pdo_mysql,pdo_sqlite
'host' => '127.0.0.1', // 数据库服务器
'user' => 'pboot', // 数据库连接用户名
'passwd' => '123456', // 数据库连接密码
'port' => '3306', // 数据库端口
//'dbname' => 'pbootcms' // 去掉注释,启用mysql数据库,注意修改前面的连接信息及type为mysqli
'dbname' => '/data/pbootcms.db' // 去掉注释,启用Sqlite数据库,注意修改type为sqlite
)
);

以上需要用到的工具:SQLiteStudio/pbootcms3.1.5 sqlite 转 mysql/navicat

将数据库连接参数都根据注释改为mysql类型,登录网站后台,点击网站栏目,查看有无异常

另外pbootcms网站新建没有数据的,可以直接使用static/backup/sql下的导入文件导入即可

关于pbootcms数据库转换也可以参考下Pbootcms默认sqlite数据库转mysql教程最新完美版(附最新Navicat转换软件)

执行SQL发生错误!错误:no such table: ay_site
执行SQL发生错误!错误:no such table: ay_model
'type' => 'sqlite', // 数据库连接驱动类型: mysqli,sqlite,pdo_mysql,pdo_sqlite

连接数据库服务器失败:php_network_getaddresses: getaddrinfo failed: 不知道这样的主机。
'host' => 'www_dhnblogpb_com', // 数据库服务器

连接数据库服务器失败:Access denied for user 'www.dhnblogpb.com'@'localhost' to database 'pbootcms'
'dbname' => 'www_dhnblogpb_com' // 去掉注释,启用mysql数据库,注意修改前面的连接信息及type为mysqli


以下仅作学习参考,不做上面sqlite转mysql步骤补充

  1. PbootCMS数据库转换教程sqlite→mysql
  2. PbootCMS数据库转换教程(sqlite转换为mysql)

根据参考操作,测试所得到的运行结果是执行SQL发生错误!错误:Table 'www_dhnblogpb_com.ay_content' doesn't exist

A.在sqlite转mysql步骤第5步中进行删除导出的SQL文件夹中的多余事项

--
-- 由SQLiteStudio v3.1.1 产生的文件 周六 十一月 19 09:59:00 2022
--
-- 文本编码:UTF-8
--
PRAGMA foreign_keys = off;
BEGIN TRANSACTION;

然后往下拖,将INSERT INTO ay_user_role (id, ucode, rcode) 下面黄色框包含索引的全部删除,也就是以INSERT INTO ay_user_role (id, ucode, rcode)这句结尾。

B.使用SQLITE转MYSQL修复工具V1.0软件将修改后的sql内容复制到修复工具框中,点击修复sql

C.将复制出来的内容粘贴到第三步剩余的SQL文档之中并保存

保存后,点[编辑]-[替换]选项,查找gtype text,换为 gtype varchar

再搜索`activation` TEXT 换为`activation` varchar

D.然后将将处理好的sql文件导入到MYSQL数据库中

E.修改网站数据库配置文件

转载请注明:大灰牛博客 » pbootcms数据库sqlite转mysql