用户登录
用户注册

分享至

mariadb 导入sql文件

  • 作者: 吴兵
  • 来源: 51数据库
  • 2020-10-02
导出数据库
该mysqldump控制台实用程序用于数据库导出到SQL文本文件。这些文件可以轻松地传输和移动。您将需要数据库名称本身以及具有允许至少完全只读访问数据库的权限的帐户的用户名和密码。 使用以下命令导出数据库。mysqldump -u username -p database_name > data-dump.sql

  • username是您可以登录到数据库的用户名
  • database_name是将要导出的数据库的名称
  • data-dump.sql是在当前目录中的文件,该输出将被保存到
  • 该命令将不产生视觉输出,但你可以检查的内容filename.sql来检查它是否是通过使用一个合法的SQL转储文件:head -n 5 data-dump.sql
  • 该文件的开头应类似于此,提的是,这是一个MySQL转储数据库命名的database_name?。SQL dump fragment-- MySQL dump 10.13 ?Distrib 5.7.16, for Linux (x86_64)---- Host: localhost ? ?Database: database_name-- -------------------------------------------------------- Server version ? ? ? 5.7.16-0ubuntu0.16.04.1
  • 如果在导出过程中出现的任何错误,?mysqldump将明确把它们打印到屏幕上要将现有转储文件导入MySQL或MariaDB,您必须创建新数据库。这是将导入转储文件的内容的位置。 首先,登录到数据库root或具有足够的权限其他用户创建新的数据库。mysql -u root -p
    这将带你进入MySQL shell提示符。接下来,创建一个名为新的数据库new_database?。CREATE DATABASE new_database;
    您将看到此输出,确认它已创建。OutputQuery OK, 1 row affected (0.00 sec)
    现在按退出MySQL外壳中CTRL+D?。在正常的命令行上,您可以使用以下命令导入转储文件:mysql -u username -p new_database < data-dump.sql="">
  • username是您可以登录到数据库的用户名
  • newdatabase是刚创建的数据库的名称
  • data-dump.sql是要导入的数据转储文件,位于当前目录
  • 成功运行的命令将不产生输出。如果在此过程中发生任何错误,?mysql将它们打印到终端,而不是。 您可以通过再次登录到MySQL shell并检查数据来检查数据库是否已导入。 这可以通过选择与新的数据库中进行USE?new_database,然后使用SHOW TABLES;或类似的命令来查看一些数据。




  •   要 mysql 迁移到 maria db
     在oracle收购了sun公司之后, mysql很不幸的落在了oracle的手中,mysql与oracle db存在竞争关系,很可能导致oracle公司影响mysql的开发与开放。mysql之父widenius在意识到oracle会对mysql做动作之前对mysql另开了一个branch:mariadb。作为一个能够完全兼容mysql的开源开放产品(向下兼容),受到了很多公司的青睐,red hat fedora ,opensuse ,维基百科,谷歌,淘宝等公司都先后把mysqldb迁移到maria db,从而更好的应对未来。
    当然,未来还未来,如果mariadb的价值仅仅在未来,或许没有那么多公司愿意承担风险,进行数据库的迁移,特别是谷歌这样实力雄厚的科技公司,更不会担心技术不可控性。
      可见,哪怕是现在,maria比之mysql也有很多的优势:
    性能提升

      2. 安全透明。(完全开源,开放,mariadb的商标属于maria基金会,以保障mariadb不会再次发生mysql这种事儿
      3. 支持更多存储引擎。(nosql backend :cassandra )
      4. mariadb galera cluster

    同步复制真正的multi-master,即所有节点可以同时读写数据库。
    自动的节点成员控制,失效节点自动被清除。
    新节点加入数据自动复制;真正的并行复制,行级。
    用户可以直接连接集群,使用感受上与mysql完全一致。
        优势:

    因为是多主,所以不存在slavelag(延迟);
    不存在丢失事务的情况;同时具有读和写的扩展能力;
    更小的客户端延迟;
    节点间数据是同步的,而master/slave模式是异步的,不同slave上的binlog可能是不同的。
      5. 与mysql完全兼容(至少是现在)。

      风险评估。这是最现实的问题,如果数据迁移风险过大,或者迁移之后发现maria db上各种不适,将会对产品造成极大的伤害。值得庆幸的是,从maria db的官方blog上,我们看到mysql可以无缝迁移到maria的文章,还有mysql 与maria混用的相关实例。集群方面,maria采用的 galera cluster同样适用于mysql,应该不会有接入的风险。
      当然,还有一个因素,就是尽早迁移会尽量降低复杂度,maria db与mysql未来肯定分道扬镳,兼容性会越来越差。
    软件
    前端设计
    程序设计
    Java相关