mysql数据库重装后nextcloud无法进入问题解决总结

之前在树霉派4B上安装了一个nextcloud做NAS,当时树霉派的sd卡是16G的,后来发现16G内存有点小,买了个63GSD卡,然后想通过dd命令将16GSD卡上的系统复制到32GSD上,但是64GSD卡格式是exFAT格式的,树霉派系统只能识别fat\ext3\ext4系统的,需要下载相关工具,然后再使用dd命令复制硬盘:
sudo apt install fuse-exfat exfat-utils
sudo dd bs=4M if=/dev/mmcblk0 of=/dev/sda

if中填入你的树霉派系统所在磁盘,of填入你需要复制的目的地磁盘,磁盘名称使用fdisk -l 查看

复制系统后,使用64G卡替换掉原来的32G卡,再启动树霉派,一切正常,进入的系统和之前的一模一样,但是启动时发现有一行报错信息,提示mysql启动失败,使用systemctl status mysql或dmseg | tail命令查看失败原因发现,sd卡扩容后,容量发生变化,而mysql的一个配置中记录的容量和现在的不一致,导致mysql启动失败,后来直接清空了mysql的数据库文件(慎重!)然后重新初始化,mysql就顺利启动了,方法见我的博客:mysql重新初始化数据库

mysql正常启动后,进入到nextcloudweb界面,提示内部服务器异常,查看nextcloud日志(/var/www/nextcloud/data/nextcloud.log),发现是数据库读去异常,突然明白过来,之前把数据库数据全删了,nextcloud配置文件/var/www/nextcloud/config/config.php中记录了数据库地址,数据库用户名、密码、数据库名等信息,数据库初始化后这些信息就全没了,还好我之前16G的sd卡还在,系统也在,然后插入16GSD卡到树霉派,重新进入到之前的系统,进入数据库,把nextcloud的数据库用户信息,权限信息,nextcloud数据库重新导出,然后再进入32G的树霉派系统,还原上面的数据,备份操作如下(mysql和shell中执行):
# 查询nextcloud用户的用户名密码 我之前创建的nextcloud用户名是oc_root 并记录返回的密码
mysql> select user,password from mysql.user where user = 'oc_root';

#查看oc_root用户的权限 并记录返回的信息
mysql> show grants for 'oc_root' ;

# 导出nextclou数据库到filename.sql文件 nextclouddb是nextcloud数据库名称
# 回车后输入数据库用户root的密码即可
shell> mysqldump -u root -p nextclouddb  > backup.sql;



上述备份工作完成后,进入到新的操作系统,并执行下来mysql或shell命令:
# 创建nextcloud 用户oc_root *代表任何ip都可以连接,localhost或127.0.0.1代表仅本机可连接数据库,后面的password就是上面查询到的oc_root密码,是个密文
mysql> CREATE USER 'oc_root'@'*' IDENTIFIED BY 'password';

#创建nextclouddb数据库
mysql> create database nextclouddb;

# 将数据库权限设置给用户oc_root
mysql> GRANT USAGE ON *.* TO `oc_root`@`%` IDENTIFIED BY PASSWORD '*password';

mysq> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `nextclouddb`.* TO `oc_root`@`%`;

#再刷新用户权限
mysql> flush privileges;

#将之前备份的数据库脚本导入 回车后输入数据库root用户密码即可
shell> mysql -uroot -p nextclouddb < backup.sql

至此,nextcloud数据库用户oc_root已经创建,且nextclouddb数据库和数据都已恢复,oc_root也已经有了nextclouddb数据库的相关权限,nextcloud应该是可以进入的,重启系统后,进入nextcloud网页,果然一切恢复正常,用户数据都正常。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值