记录

近期在国外发现了一个免费存储的数据库,免费使用5G存储空间,这里刚好想尝试把本地的.sql文件导入到云端,这里记录一下上传的过程。

简介

PlanetScale 是一个 MySQL 无服务器平台,是一个用于 MySQL 水平扩展的数据库集成系统。有很大的扩展性,速度也相当不错。不过由于是国外的,使用需要科学上网,如果想使用的可以考虑使用尝试。

过程

  1. 注册PlanetScale登录并创建数据库(地域默认即可),等待创建成功。

  2. 首次创建成功会生成一个密码和用户名,记得保存,连接方式平台已经准备好了。

  3. 这里选择 MySQL 数据库连接,把连接复制下来

    1
    2
    # * 号部分是你的密码,这里注意保存。
    mysql -h aws.connect.psdb.cloud -u zwa0nizwo9fwh2qijk2v -p************ --ssl-mode=VERIFY_IDENTITY --ssl-ca=/etc/ssl/certs/ca-certificates.crt

    注意,这里使用的链接有针对性连接使用,--ssl-mode--ssl-ca分别对应了Linuxmac,如果你使用的是Windows,把前面的两个选项删除。

    连接成功后显示

  4. 使用终端把本地.sql文件导入云端的数据库中。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    mysql -u root -p --default-character-set=utf8
    # 登录mysql并指定登陆后的默认字符集,如果你的mysql在PATH环境变量中没有,直接敲是不会出来的(要到mysql的bin目录)
    mysql> create database my_data default character set utf8 COLLATE utf8_general_ci
    # 创建名为my_data的数据库并且指定默认字符集为utf8,校对规则为utf8_general_ci
    mysql> show variables like "character_set_database"
    # 可以查看Mysql数据库的默认字符集,如果不是utf8就要修改一下了
    mysql> set character_set_database=utf8;
    # 修改默认字符集为utf8
    mysql> source "你的sql文件存在的绝对路径"
    # 注意,此时的绝对路径绝对会出现"\"这种符号,在mysql中,我们要把sql文件的绝对路径中的"\"改为"/"导入

扩展

由于这样对于很多人来说太麻烦了,这里就选择了 Navicat Premium 16 来连接使用,前面有分享一个激活程序,选择安装Navicat@v16.1.6或者更低,现在的版本无法使用激活。

  1. 看你保存的连接,分别对应了hostusernamepassword

  2. 在点击测试连接时你会看见如下报错。

    这个错误信息表示你的服务器不允许使用不安全的连接,要求客户端使用 SSL/TLS,要确保数据在客户端和服务器之间的传输是安全的。

  3. 在连接数据库的窗口有一个SSL协议选择项,把使用SSL勾选上即可,再次点击测试测试连接,就可以看到你的数据库连接成功。

  4. 点击运行.sql文件,等待数据库执行完毕后,等待数据库导入完成。这样你就可以看到你的数据库导入到云端了。
    这是我保存到云端的数据

扩展

在你创建好的数据库,主分支是开启了保护的,任何人都不能改动它的表结构,让你的数据库数据库更加安全,它和git一样,有分支的概念,便于开发,维护,回滚,这里我们可以创建一个分支,使用分支来存储数据,等到一定程度后,可以保存到主分支(见上图),这里不需要你自己备份,它会每天帮你备份一次,这样你就不用担心的你的数据库被人侵入后动了你的数据库。