mysql导入sql文件

Mysql备份与恢复(2)---逻辑备份

廉价感情. 提交于 2020-01-22 06:37:51
数据库 及时备份可以帮助我们在数据库出现异常宕机时及时的使用备份数据进行恢复工作,将因为数据库宕机产生的影响降低到最小。上一篇针对使用xtrabackup工具进行物理备份和数据恢复做了一个详细讲解,本篇主要谈谈如何使用mysql自带的备份工具mysqldump进行逻辑备份和数据恢复。如果还围观看过上一篇文章的可以先行查询上一篇文章关于使用xtrabackup进行数据备份与恢复:Mysql备份与恢复(1)---物理备份。 前言 上一篇可能存在一个问题,最后一步恢复数据到/var/lib/mysql目录成功,但是最后重启数据库启动不起来,数据库日志一般存放路径为:/var/log/mysqld.log,经过定位日志可以查看到错误日志原因: 2019-10-14T07:43:22.351861Z 0 [ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable 2019-10-14T07:43:22.351885Z 0 [ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable 2019-10-14T07:43:22.351892Z 0 [ERROR] InnoDB: Plugin initialization aborted

python D40 pymsql和navicat

|▌冷眼眸甩不掉的悲伤 提交于 2020-01-22 06:34:22
一 IDE工具介绍(Navicat)   生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具,我们使用Navicat工具,这个工具本质上就是一个socket客户端,可视化的连接mysql服务端的一个工具,并且他是图形界面版的。我们使用它和直接使用命令行的区别就类似linux和windows系统操作起来的一个区别。 二 MySQL数据备份 #1. 物理备份: 直接复制数据库文件,适用于大型数据库环境。但不能恢复到异构系统中如Windows。 #2. 逻辑备份: 备份的是建表、建库、插入等操作所执行SQL语句,适用于中小型数据库,效率相对较低。 #3. 导出表: 将表导入到文本文件中。   一、使用mysqldump实现逻辑备份 #语法: # mysqldump -h 服务器 -u用户名 -p密码 数据库名 > 备份文件.sql #示例: #单库备份 mysqldump -uroot -p123 db1 > db1.sql mysqldump -uroot -p123 db1 table1 table2 > db1-table1-table2.sql #多库备份 mysqldump -uroot -p123 --databases db1 db2 mysql db3 > db1_db2_mysql_db3.sql #备份所有库 mysqldump -uroot

CentOS7.5通过shell脚本使用mysql_multi自动安装MySQL5.7.28多实例

大憨熊 提交于 2020-01-22 01:23:46
在文章上一篇文章中 https://blog.51cto.com/8355320/2466817 我使用的是手动使用mysql_multi方式安装mysql5.7.28多实例,安装过程比较耗时,这里我编写了shell脚本来自动化安装,请大家参考,脚本经测试没有出现问题,脚本我有二次修改里面的实例名与变量名,可能存在不一致,请自行对比确认下。脚本中有什么可以优化的还请多多指点,谢谢!!以下是脚本中的几点说明: 1、mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz包上传路径: /opt 如果没有此软件包,请将此脚本中如下代码行去掉 # 号注释,自动联网下载(下载过程很慢,建议提前下载并上传到/opt路径下) wget -c https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz 2、mysql数据库脚本上传路径: /opt 包含如下文件(需要修改sql文件中的实例名) testone.sql testtwo.sql 4、根据服务器磁盘分配情况,创建对应软链接,例如: mkdir /home/data ln -s /home/data/ /data 5、修改(确保局域网内值唯一) mysql3306.cnf 的 server_id

tablespace innodb_index_stats is missing

烈酒焚心 提交于 2020-01-21 15:47:26
导入mysqldump过程中,手贱(手残)按到 ctrl+alt+z 。 导致此进程终止(暂停),因为当时 执行查看进程时候 ps -ef|grep mysql 。然后还能看到进程 mysql -uroot -p < back.sql 估计是这个进程暂停了。 ctrl+c 结束进程后,进入到控制台,查询导入的表,也卡住不动。。。 查看 innodb_trx,innodb_waits,innodb_wait_locks; 三张表也没有问题。 查看错误日志,导致下图报错。 问题见图: 哇,瞬间爆炸。 然后网上查办法: 都是删表后重建:innodb_table_stats 下面是步骤: 1. use mysql mysql>show create table innodb_index_stats; ERROR1146(42S02):Table'mysql.innodb_index_stats'doesn'texist 删掉损坏的表: drop table innodb_index_stats; 2 rm 掉mysql目录下面的 重建表:问题来了建表sql在哪? find / -name mysql_system_tables.sql 查到这个sql脚本后,vi 找到对应sql--> 进行建表 3 可能会建表失败,看看drop表后再mysql目录下是不是有该表残留文件,如果有rm掉。重建表

mysql还原大sql文件

落爺英雄遲暮 提交于 2020-01-21 04:10:19
使用工具:Sqlyog sql文件大小:6.5G 总耗时:约1小时 步骤:0.检查mysql的 max_allowed_packet 配置,默认max_allowed_packet为1k,如果导入的文件过大。可能会报错,修改mysql 配置文件设置 max_allowed_packet=1024M (最大值),保存, 重启mysql 。可使用以下语句查询是否配置生效, show VARIABLES like '%max_allowed_packet%'; 1.打开sqlyog,选择sql还原 2.选择要还原的数据库 3.关闭外键检查, SET FOREIGN_KEY_CHECKS=0; (还原成功后再执行SET FOREIGN_KEY_CHECKS=1;开启外键检查) 4.设置编码为utf8,防止中文乱码, set names utf8; (具体根据备份库备份的编码设置,两者需保持一致) 5.开始还原 来源: CSDN 作者: ganckun 链接: https://blog.csdn.net/mangck/article/details/104047880

mysql逻辑备份与还原工具mysqldump

风流意气都作罢 提交于 2020-01-20 22:29:00
(一)mysqldump介绍 mysqldump是MySQL自带的逻辑备份工具,类似于Oracle的expdp/impdp,mysqldump备份十分灵活,可以在以下级别对数据库进行备份: 实例下的所有数据库 某个或某几个数据库 某个数据库中的表 某个数据库中的表的某些记录 mysqldump的备份结果集有两种文件:一种是将数据转换为标准的SQL语句,另一种是按照指定的分隔符,输出为特定格式的平面文件。 (二)mysqldump的用法 可以直接使用mysqldump命令查看mysqldump的用法 [root@mysqlserver ~]# mysqldump Usage: mysqldump [OPTIONS] database [tables] OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...] OR mysqldump [OPTIONS] --all-databases [OPTIONS] For more options, use mysqldump --help mysqldump参数众多,如果要查看所有参数信息,可以使用命令: [root@mysqlserver ~]# mysqldump --help mysqldump Ver 10.13 Distrib 5.7.27, for el7 (x86

MySQL之部分工具

别说谁变了你拦得住时间么 提交于 2020-01-20 19:39:59
mysqlimport 语法:mysqlimport [options] db_name textfile1 [textfile2 ...] 语义:以命令行模式来载入SQL声明。对于每个textfile,mysqlimport都将该文件名(后缀除外)作为数据库中的表。 选项: --columns=column_list, -c column_list:以逗号作为分隔,列出对应的列名。载入文件中的数据以该列名作为表的列名。 --delete, -D:导入数据之前是否清空表格。 --force, -f:是否忽略出错。 --ignore-lines=N:忽略文件的前N行。 --lines-terminated-by=...:以xxx作为文件的结尾,mysqlimport遇到该字符串时结束导入。 --local, -L:默认导入时,导入的文件位于mysql的server端,本选项指定从客户端的虚机上导入数据。 --lock-tables, -l:在导入之前锁定所有的表格。 --low-priority:导入数据时以低优先级进行。这个仅在支持表级锁的存储引擎上有效。 --replace, -r/--ignore:指示在已经存在的表中有相同记录时,导入是覆盖还是忽略。如果没有指定,那么存在相同记录时,将会出错,后续的记录也不会继续导入。 --silent, -s:静默模式

JMETER数据库MYSQL--初入门

天大地大妈咪最大 提交于 2020-01-20 01:29:44
一、jar包下载 地址: http://mvnrepository.com/artifact/mysql/mysql-connector-java 根据mysql版本,挑选合适的jar包 二、TEST(示例MYSQL) 1.连接MYSQL 导入jar包至JMeter安装目录的lib文件中 测试计划-Add directory or jar to classpath -浏览- 导入mysql-connector.jar 2.线程组-右击添加-配置元件-JDBC Connection Configuration 配置连接池 Variable Name:(自定义,需要和JDBC Request中的Variable Name一致) Database URL: jdbc:mysql://localhost:3306/world JDBC Driver class:com.mysql.jdbc.Driver(固定) Username:root(用户名) Password:*********(密码) 3.线程组-右击添加-Sampler-JDBC Request 配置JDBC请求 Variable Name:(自定义,需要和JDBC Connection Configuration中的Variable Name一致) SQL Query Type:根据需要设定,增删改查(带参Prepared

mac 下连接数据库,导入sql表

谁都会走 提交于 2020-01-19 19:26:32
首先找到mamp 中mysql的安装目录: /Applications/MAMP/Library/bin/mysql 然后进入: /Applications/MAMP/Library/bin/mysql -u root -p 1,导入 打开终端输入:(前提是已经配置过MySQL环境变量) 1,show databases; 2,create database name; 3,use name; 4,source 『将.sql文件直接拖拽至终端,自动补全其文件目录』 1,导出 cd 『打开要将.sql文件生成的文件位置』 mysqldump -u root -p database_name>sql_name.sql 另外,[Unix的一些终端命令] 终端登录mysql(相对路径) 终端中输入命令:查看路径中有没有需要的路径: 终端中输入命令: echo $PATH 没有? 添加需要路径: PATH="$PATH":/usr/local/mysql/bin 以后 终端中需输入命令: mysql -u root -p 即可 参考 https://www.cnblogs.com/zhengbin/p/4749938.html 来源: CSDN 作者: 月入十万不是梦 链接: https://blog.csdn.net/weixin_46209016/article/details

MySQL——JDBC

爱⌒轻易说出口 提交于 2020-01-19 16:47:22
1、数据库驱动 驱动:声卡,显卡、数据库 我们的程序会通过 数据库 驱动,和数据库打交道! 2、 JDBC SUN 公司为了简化 开发人员的(对数据库的统一)操作,提供了一个(Java操作数据库的)规范,俗称 JDBC 这些规范的实现由具体的厂商去做~ 对于开发人员来说,我们只需要掌握 JDBC 接口的操作即可! java.sql javax.sql 还需要导入一个数据库驱动包 mysql-connector-java-5.1.47.jar 3、第一个JDBC 程序 创建测试数据库 CREATE DATABASE jdbcStudy CHARACTER SET utf8 COLLATE utf8_general_ci; USE jdbcStudy; CREATE TABLE users( id INT PRIMARY KEY, NAME VARCHAR(40), PASSWORD VARCHAR(40), email VARCHAR(60), birthday DATE ); INSERT INTO users(id,NAME,PASSWORD,email,birthday) VALUES(1,'zhansan','123456','zs@sina.com','1980-12-04'), (2,'lisi','123456','lisi@sina.com','1981-12-04'