sqlite导出数据 导入 mysql/PbootCMS mysql/mysql 8.0
环境
1.Server version: 8.0.21 MySQL Community Server - GPL
2.PBooyCMS 3
3.sqlite数据转移到mysql
问题描述
由于mysql升级到8.0版本;字符集设置,以及数据库的连接认证都会与之前版本不一致,造成诸多报错。所做的工作,便是将多项设置,人为的改回与先前版本兼容的设置内容。
报错
1.Server sent charset unknown to the client
1.The server requested authentication method unknown to the client
设置my.cnf
- 大致在
/etc/mysql/
- 追加内容
[client]
default-character-set=utf8[mysql]
default-character-set=utf8[mysqld]
default_authentication_plugin= mysql_native_password
character-set-server=utf8
- 注意:变为原来的验证方式,然后从新创建用户并授权即可
default_authentication_plugin= mysql_native_password
创建数据库
- 登录mysql
mysql -u root -p - 新建表
CREATE DATABASE `mydb` CHARACTER SET utf8 COLLATE utf8_general_ci; use mydb; - 设置字符
set names utf8; - 导入SQL文件
这里导入的SQL文件,即默认的原始文件。因为这份文件没有错误,用于创建表结构,表数据在后续步骤会被更新。source /PbootCMS/static/backup/sql/pbootcms.sql
数据库转移
1.直接安装Navicat15
使用这个版本的,可以直接将sqlite打开并且准确导出数据到文件,最后再导入到 mysql.
2.navicat 连接mysql
3.Navicat 打开sqlite
4.将sqlite里的数据通过导出引导,把数据全部导出到txt,设置几乎一路默认。
5.在打开的mysql数据库里,应该有默认已经建好的表,直接右键导入引导,将所有已导出的txt选中,默认设置,注意更改删除原数据,而非追加数据。完成后,便可将原来的sqlite数据全部导入到mysql中。
PBootCMS 设置mysql数据库
将config文件夹下的database.php内容改为
//'type' => 'sqlite', // 数据库连接驱动类型: mysqli,sqlite,pdo_mysql,pdo_sqlite'type' => 'mysqli', // 数据库连接驱动类型: mysqli,sqlite,pdo_mysql,pdo_sqlite'host' => '127.0.0.1', // 数据库服务器'user' => 'root', // 数据库连接用户名'passwd' => 'XXXXXXX', // 数据库连接密码'port' => '3306', // 数据库端口'dbname' => 'XXXXXX' // 去掉注释,启用mysql数据库,注意修改前面的连接信息及type为mysqli//'dbname' => '/data/b202929125310c0ed423b705584bd13a.db' // 去掉注释,启用Sqlite数据库,注意修改type为sqlite
其他问题欢迎留言讨论
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
