公司整了台RK3568去搞测试用,系统是Ubuntu18.04,由于机子实在太小了,内置高达6个G,只有个microsd卡口,只能用这种方式扩容硬盘。由于自带python的版本是3.6,之前还装了个3.9。操作之前确认一下自己已经正确安装了mysql。
一、SD卡挂载
首先sd卡格式化一下,试了很多方法,最后参考了以下文章得以解决:
linux格式化sd卡,并进行挂载_linux格式化sd卡命令_芒果520的博客-CSDN博客
1.首先 sudo fdisk -l,查看设备信息
2.然后创建一个挂载点,例如:
sudo mkdir /mnt/sdcard
需要注意的是,挂载的设备名是红箭头指的那个,不是上面的disk名,挂载的时候,默认的uid和gid全都是root,所以参考的那些资料基本上都不好用,但是只要在挂载时指定uid和gid为mysql就可以了,例如,我是用的挂载命令使用的是:
sudo mount /dev/mmcblk1p1 /mnt/sdcard -o uid=mysql,gid=mysql
输入 df -h 命令看一眼挂载上没,这样挂载基本就可以了
二、MySQL迁移和设置
1.首先service mysql stop,停止一下数据库服务,复制一份去sd卡对应目录
sudo mkdir /mnt/sdcard/mysql
sudo cp -R /var/lib/mysql/* /mnt/sdcard/mysql
2.备份一下
sudo mv /var/lib/mysql /var/lib/mysql_backup
3.将挂载好的目录设置为 MySQL 数据目录:
sudo ln -s /mnt/sdcard/mysql /var/lib/mysql
4.修改配置文件
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
在datadir这一项修改成你的sd卡挂载目录
datadir = /mnt/sdcard/mysql
5.最后打开mysql服务并验证,能打开mysql服务基本就可以了,也可以使用以下行来验证一下
show variables like 'datadir';
datadir已经修改,成功
三、开机自动挂载sd
vim打开 /etc/fstab
最后加一行
/dev/mmcblk1p1 /mnt/sdcard vfat rw,user,uid=mysql,gid=mysql 0 0
保存退出后 mount -a重新加载所有挂载点,以使新的配置生效。