mysql导入sql文件

mysql数据库备份及恢复命令mysqldump,source的用法

我是研究僧i 提交于 2020-02-11 07:41:24
还原一个数据库:mysql -h localhost -u root -p123456 www<c:/www.sql 备份一个数据库:mysqldump -h localhost -u root -p123456 www > d:/www2008-2-26.sql //以下是在程序中进行测试 //$command = "mysqldump --opt -h $dbhost -u $dbuser -p $dbpass $dbname | gzip > $backupFile"; $command="mysqldump -h localhost -u root -p123456 guestbook > guestbook2-29.sql"; system($command); echo "success"; ************************************************ 备份MySQL数据库的命令 mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql 备份MySQL数据库为带删除表的格式 备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。 mysqldump -–add-drop-table -uusername

[MySQL]mysql binlog回滚数据

那年仲夏 提交于 2020-02-10 19:28:27
1.先开启binlog log-bin = /var/log/mysql/mysql_bin #binlog日志文件,以mysql_bin开头,六个数字结尾的文件:mysql_bin.000001,并且会将文件存储在相应的xxx/xxx路径下,如果只配置mysql_bin的话默认在C:\ProgramData\MySQL\MySQL Server 5.7\Data下; binlog_format = ROW #binlog日志格式,默认为STATEMENT:每一条SQL语句都会被记录;ROW:仅记录哪条数据被修改并且修改成什么样子,是binlog开启并且能恢复数据的关键; expire_logs_days= 10 #binlog过期清理时间; max_binlog_size = 100m #binlog每个日志文件大小; binlog_cache_size = 4m #binlog缓存大小; max_binlog_cache_size = 512m #最大binlog缓存大小。 service mysql restart #重启一下 2.安装binlog2sql的python代码 https://github.com/danfengcao/binlog2sql apt-get install python-pip git clone https://github.com

第1章 MySQL架构与历史

余生长醉 提交于 2020-02-09 19:54:34
MySQL最重要、最与众不同的特性是它的存储引擎架构,这种架构的设计将查询处理(Query Processing)及其他系统任务(Server Task)和数据的存储/提取相分离。这种处理和存储分离的设计可以在使用时根据性能、特性,以及其他需求来选择数据存储的方式 1.1 MySQL逻辑架构 最上层服务大多数系统都有,连接处理、授权认证、安全等等 第二层包含MySQL的大多数核心功能 第三层包含了存储引擎。存储引擎负责MySQL中数据的存储和提取 1.1.1 连接管理与安全性 每个客户端连接都会在服务器进程中拥有一个线程,这个连接的查询只会在这个单独的线程中执行,该线程只能轮流在某个CPU核心或者CPU中运行。服务器会负责缓存线程,因此不需要为每一个新建的连接创建或者销毁线程。 当客户端连接到MySQL服务器时,服务器需要对其进行认证。认证基于用户名、原始主机信息和密码。如果使用了 安全套接字 SSL)的方式连接,还可以使用X.059证书认证。一旦客户端连接成功,服务器会继续验证该客户端是否具有执行某个特定查询的权限(例如,是否允许客户端对world数据库的Country表执行SELECT语句)。 1.1.2 优化与执行 MySQL会解析查询,并创建内部数据结构,然后对其进行各种优化,包括重写查询、决定表的读取顺序,以及选择合适的索引等。 对于SELECT语句,在解析查询之前

Mysql导入sql脚本出错(前提是sql脚本是没有错误的 比如导出来的)

放肆的年华 提交于 2020-02-07 01:44:46
我遇到的问题是 我自己用navicat 导出来的sql脚本再次执行的时候出现了 竟然全部出错 这说明要么是sql文件出错 要么就是数据库版本编码不对 解决办法 首先你不管执行什么数据库 必须先创建一个你要导入的数据库 然后再这个数据库的名字右击或者表中右击 点击运行sql文件 然后选择需要执行的sql 最重要的核心 一定记住这个√不能打 要不全是错误的 温馨提示:操作完毕记得刷新 来源: CSDN 作者: 梦---ding 链接: https://blog.csdn.net/qq_39759664/article/details/104196546

数据库 -- 存储引擎介绍

孤人 提交于 2020-02-05 06:13:48
mysql引擎介绍 1,概念   mysql5.6支持的存储引擎包括InnoDB、MyISAM、MEMORY、CSV、BLACKHOLE、FEDERATED、MRG_MYISAM、ARCHIVE、PERFORMANCE_SCHEMA。其中NDB和InnoDB提供事务安全表,其他存储引擎都是非事务安全表。 mysql支持的存储引擎 MySQL服务器采用了多层设计和独立模块,插件式存储引擎体系结构,允许将存储引擎加载到正在运新的MySQL服务器中,图中的Pluggable Storage Engines部分。采用MySQL服务器体系结构,由于在存储级别上(也就是Pluggable Storage Engines)提供了一致和简单的应用模型和API,应用程序编程人员和DBA可不再考虑所有的底层实施细节。因此,尽管不同的存储引擎具有不同的能力,应用程序是与之分离的。存储引擎就司职与文件系统打交道了。 并发性:某些应用程序比其他应用程序具有很多的颗粒级锁定要求(如行级锁定)。 事务支持:并非所有的应用程序都需要事务,但对的确需要事务的应用程序来说,有着定义良好的需求,如ACID兼容等。 引用完整性:通过DDL定义的外键,服务器需要强制保持关联数据库的引用完整性。 物理存储:它包括各种各样的事项,从表和索引的总的页大小,到存储数据所需的格式,到物理磁盘。 索引支持

linux:mysql安装

泄露秘密 提交于 2020-02-04 10:05:55
最近在弄这个,找了点博客,很繁琐,还不一定成功,这个最简单,一次性做下去的 (1)使用xshell连接Linux服务器,在根目录下,输入“yum -y install mysql mysql-server mysql-devel” 安装MySQL。 到最后出现“Complete!”,表示安装成功。 (在执行该命令之前,可以用“yum list | grep mysql”查看可以安装哪些项)。 (2)检查是否生成了mysql服务,并设置随机启动。 使用“chkconfig --list |grep mysql”检查服务,使用“chkconfig mysqld on”开启随机启动服务。 (3)启动MySQL,输入“service mysqld start”。 (4)查看mysql进程,输入“ps -ef |grep mysql|grep -v grep”。 从上图可以知道,启动已经成功,进程已存在。从进程信息可以看到,mysql的数据库data目录是 /var/lib/mysql ,错误日志文件是 /var/log/mysqld.log,及其他一些信息。 (5)进入MySQL的数据库目录,查看默认数据库。 (6)修改管理员密码。 此时MySQL就可以使用了。 (7)创建数据库,并且导入sql文件。 (8)查看生成的数据库表。 (9)其他命令。 <1>停止服务:service

27_mysqldump 实时增量备份 、innobackupex

霸气de小男生 提交于 2020-02-03 20:18:16
版本:5.7.28 PHP:5.6 服务器:mysql 192.168.4.20 1.数据库备份与恢复 逻辑备份工具 mysqldump 使用mysql 恢复数据库 1.1备份MySQL服务器上的所有库 ]# mysqldump -u root -p123456 --all-databases > /root/alldb.sql ]# file /root/alldb.sql //确认备份文件类型 alldb.sql: UTF-8 Unicode text, with very long lines 1.2只备份指定的某一个库 ]# mysqldump -u root -p123456 userdb > userdb.sql 1.3 同时备份指定的多个库 ]# mysqldump -u root -p123456 -B mysql userdb > mysql+test+userdb.sql 1.4使用mysql命令从备份中恢复数据库、表 创建名为userdb2的新库 mysql> CREATE DATABASE userdb2; 导入备份文件,在新库中重建表及数据 ]# mysql -u root -p123456 userdb2 < /root/userdb.sql 前面备份过,现在恢复看是否有数据 确认新库正常,启用新库 mysql> USE userdb2; mysql>

MySQL 高可用之主从复制

情到浓时终转凉″ 提交于 2020-02-02 05:11:44
MySQL主从复制简介 Mysql的 主从复制 方案,都是 数据传输 的,只不过MySQL无需借助第三方工具,而是自带的同步 复制功能 ,MySQL的 主从复制 并不是磁盘上文件直接同步,而是将 binlog 日志发送给从库,由从库将 binlog 文件里的内容写入本地数据库。 在生产环境中,MySQL主从复制都是异步方式同步,即不是实时同步数据。 MySQL主从复制原理 1.主从复制中的线程及文件 主库线程: Dump(IO) thread(也成为 IO 线程):在复制过程中,主库发送二进制日志的线程 从库线程: IO thread:向主库请求binlog日志,并且接受binlog日志的线程 SQL thread:专门用于请求binlog日志的线程,将其内容写入数据库 主库的文件: binlog文件:主库的binlog日志 从库的文件: relaylog:中继日志,存储请求过来的binlog日志 master.info: 从库连接主库的重要参数(user,password,ip,port) 记录最后一次获取过主库的binlog日志的位置点 relay-log.info 存储从库SQL线程已经执行过的relaylog日志位置点 Mysql主从复制图解: 从库 读取 master.info 文件中的信息(连接参数,最后一次请求binlog的位置点),向 主库 请求binlog文件,

当删库时如何避免跑路

牧云@^-^@ 提交于 2020-02-01 22:00:22
延时节点解决方案 删库跑路也是个老梗了,可见在运维数据库的过程中误删除数据,或者开发的代码有bug,造成数据的误删除屡见不鲜。不过现在也有许多用于恢复或预防误删除的方案,例如SQL管理系统,将要执行的SQL先交由管理员审核,然后由管理员备份一个镜像数据库,在镜像上执行该SQL,并在执行后还原镜像。这样经过层层把关就可以大大减小出现误操作的几率。 另外,利用binlog日志也可以恢复误操作的数据,所以线上运行的数据库都会开启binlog日志功能。还有就是本小节要介绍的延时节点:在Replication集群中,可以设置一个延时节点,该节点的数据同步时间要慢于集群中的其他节点,当其他节点出现误操作后,若延时节点的数据还没有被影响就可以从延时节点进行恢复。 但如果现有的数据库组建的都是PXC集群,没有Replication集群可以采用该方案吗?也是可以的,PXC集群与Replication集群并非是互斥的,我们可以将PXC集群中的某个节点设置为Master,然后增加一个延时节点设置为Slave,让这两个节点构成Replication集群进行数据同步即可。如下所示: 本小节就简单演示一下如何搭建这种异构集群下的延时节点,我这里已经事先准备好了一个PXC集群和一个用作延时节点的数据库: 这里使用PXC集群中的 PXC-Node3 作为Master,让其与 DelayNode 组成主从,而

2020年寒假假期总结0201

别等时光非礼了梦想. 提交于 2020-02-01 20:45:31
  使用Sqoop将mysql数据传到hive   系统环境:hadoop2.65,mysql5.7.28,sqoop1.47,hive1.2.2,虚拟机centos7,物理机windows10    注意点:安装sqoop不要将目录设在hadoop下面,否则在运行下面命令时会发生找不到jar包的问题,我估计是系统将hadoop的lib目录认为成了sqoop的lib目录了。因为在我把相应的jar包放在hadoop的lib文件下时就可以通过,由于有很多jar包,所以一个jar找到了,又会有一个jar包找不到,所以建议不要放在hadoop目录下。   操作要求:将物理机的mysql数据转到虚拟机的mysql,然后使用sqoop将虚拟机的mysql转到hive中。   1.在物理机中使用Navicat的导出向导,获取sql文件,利用里面的建表语句,在虚拟机的mysql中建表,需要注意的是,linux的建表语句和windows有些许差异,比如:在编码的改动,需要将原来的编码utf8mb4_0900_ai_ci改成utf8_general_ci,utf8mb4改成utf8。   2.然后利用传输工具将sql文件传给虚拟机,然后虚拟机开启mysql,使用source命令调用sql文件,然后执行文件将所有数据插入mysql中。   3.然后我们在hive中创建相应的表