nextcloud-S3-local-S3-migration 项目只支持mysql/mariadb,因此我打算先将数据库切换为mariadb。
切换的方法很简单,使用官方的occ指令即可实现。
文档地址: https://docs.nextcloud.com/server/lates ... conversion
在切换之前,我们先在mariadb中创建nextcloud数据库和nextcloud用户。
创建数据库:
代码: 全选
CREATE DATABASE nextcloud
CHARACTER SET = 'utf8mb4'
COLLATE = 'utf8mb4_unicode_520_ci';
代码: 全选
create user nextcloud@localhost identified by '设置一个数据库密码';
grant all privileges on nextcloud.* to nextcloud@localhost;
flush privileges;
quit;
代码: 全选
sudo -u postgres pg_dump nextcloud > nextcloud.db.pg.sql
代码: 全选
sudo -u www-data php occ maintenance:mode --on
sudo -u www-data php occ config:system:set mysql.utf8mb4 --type boolean --value="true"
sudo -u www-data php occ maintenance:repair
代码: 全选
php occ db:convert-type --all-apps mysql oc_mysql_user 127.0.0.1 new_db_name
代码: 全选
sudo -u www-data php occ db:convert-type --password="你设置的数据库密码" --clear-schema --all-apps mysql nextcloud 127.0.0.1 nextcloud
Continue with the conversion?
时,输入yes
,然后回车转换结束后,关闭维护模式
代码: 全选
sudo -u www-data php occ maintenance:mode --off
https://{server_url}/settings/admin/serverinfo
看到转换后的数据库类型确实为mysql,说明成功了Reference:
Invalid datetime format: 1366 Incorrect string value