MySQLdump

MySQLdump MySQL有很多可以导入数据的方法,然而这些只是数据传输中的一半,另外的一般是从MySQL数据库中导出数据。有许多的原因我们需要导出数据。一个重要的原因是用于备份数据库。数据的造价常常是昂贵的,需要谨慎处理它们。经常地备份可以帮助防止宝贵数据地丢失;另外一个原因是,也许您希望导出数据来共享。 在这个信息技术不断成长的世界中,共享数据变得越来越常见。 比方说Macmillan USA维护护着一个将要出版的书籍的大型数据库。这个数据库在许多书店之间共享,这样他们就知道哪些书将会很快出版。医院越来越走向采用无纸病历记录,这样这些病历可以随时跟着你。世界变得越来越小,信息也被共享得越来越多。有很多中导出数据得方法,它们都跟导入数据很相似。因为,毕竟,这些都只是一种透视得方式。从数据库导出的数据就是从另一端导入的数据。这里我们并不讨论其他的数据库各种各样的导出数据的方法,您将学会如何用MySQL来实现数据导出。 使用MySQLdump: (MySQLdump命令位于MySQL/bin/目录中) MySQLdump工具很多方面类似相反作用的工具MySQLimport。它们有一些同样的选项。但MySQLdump能够做更多的事情。它可以把整个数据库装载到一个单独的文本文件中。这个文件包含有所有重建您的数据库所需要的SQL命令。这个命令取得所有的模式 (Schema,后面有解释) 并且将其转换成DDL语法 (CREATE语句,即数据库定义语句) ,取得所有的数据,并且从这些数据中创建INSERT语句。这个工具将您的数据库中所有的设计倒转。因为所有的东西都被包含到了一个文本文件中。这个文本文件可以用一个简单的批处理和一个合适SQL语句导回到MySQL中。这个工具令人难以置信地简单而快速。决不会有半点让人头疼地地方。 因此,如果您像装载整个数据库Meet_A_Geek的内容到一个文件中,可以使用下面的命令: bin/MySQLdump –p Meet_A_Geek > MeetAGeek_Dump_File.txt 这个语句也允许您指定一个表进行dump(备份/导出/装载?)。如果您只是希望把数据库Meet_A_Geek中的表Orders中的整个内容导出到一个文件,可以使用下面的命令: bin/MySQLdump –p Meet_A_Geek Orders >MeetAGeek_Orders.txt 这个非常的灵活,您甚至可以使用WHERE从句来选择您需要的记录导出到文件中。要达到这样的目的,可以使用类似于下面的命令: bin/MySQLdump –p –where=“Order_ID > 2000” Meet_A_Geek Orders > Special_Dump.txt MySQLdump工具有大量的选项,部分选项如下表: 选项/Option 作用/Action Performed -add-drop-table 这个选项将会在每一个表的前面加上DROP TABLE IF EXISTS语句,这样可以保证导回MySQL数据库的时候不会出错,因为每次导回的时候,都会首先检查表是否存在,存在就删除 -add-locks 这个选项会在INSERT语句中捆上一个LOCK TABLE和UNLOCK TABLE语句。这就防止在这些记录被再次导入数据库时其他用户对表进行的操作 -c or - complete_insert 这个选项使得MySQLdump命令给每一个产生INSERT语句加上列 (field) 的名字。当把数据导出导另外一个数据库时这个选项很有用。 -delayed-insert 在INSERT命令中加入DELAY选项 -F or -flush-logs 使用这个选项,在执行导出之前将会刷新MySQL服务器的log. -f or -force 使用这个选项,即使有错误发生,仍然继续导出 -full 这个选项把附加信息也加到CREATE TABLE的语句中 -l or -lock-tables 使用这个选项,导出表的时候服务器将会给表加锁。 ...

2011-12-03 · 2 min · 259 words · -

generate delete sql

generate delete sql select ‘delete from ’ || ut.table_name || ‘;’ from user_tables ut;

2011-11-25 · 1 min · 14 words · -

JdbcTemplate

JdbcTemplate https://segmentfault.com/a/1190000010907688 https://www.cnblogs.com/gongxr/p/8053010.html jdbcTemplate 获取刚插入的主键 id https://blog.csdn.net/liuao107329/article/details/79126118 jdbctemplate unit test https://blog.csdn.net/kerongao/article/details/110872832 https://www.baeldung.com/spring-jdbctemplate-testing

2011-10-17 · 1 min · 12 words · -

Derby

Derby Apache Derby, an Apache DB subproject, is an open source relational database implemented entirely in Java and available under the Apache License, Version 2.0. Some key advantages include: Derby has a small footprint - about 2.6 megabytes for the base engine and embedded JDBC driver. Derby is based on the Java, JDBC, and SQL standards. Derby provides an embedded JDBC driver that lets you embed Derby in any Java-based solution. ...

2011-09-22 · 2 min · 271 words · -

MySQL 备份 还原 导入 导出 export import

MySQL 备份 还原 导入 导出 export import # Export MySQLdump -uwiloon -pPASSWORD --default-character-set=utf8 enlab >enlab.sql # -u 与 username 之前可以有空格, -p 与 password 之间可以有空格, -p 后也可以不跟密码, 命令执行后会提示输入密码. #Import: #1. MySQL>source /path/to/sql/abc.sql; #2. #MySQL -u用户名 -p密码 数据库名 < 数据库名.sql MySQL -uusername -ppassword db_name < db_name.sql http://blog.csdn.net/myron_sqh/article/details/13016945

2011-04-30 · 1 min · 45 words · -

MySQL批量导入sql文本文件

MySQL批量导入sql文本文件 source abc.sql;

2011-04-16 · 1 min · 3 words · -

MySQL str to datatime

MySQL str to datatime str_to_date(‘29-AUG-10 03.26.32 PM’,’%d-%b-%y %h.%i.%s %p’)

2011-04-16 · 1 min · 9 words · -

修改 MySQL 字符集

修改 MySQL 字符集 查看字符集设置 show variables like 'character_set_%'; set character_set_client=utf8; set character_set_connection=utf8; set character_set_database=utf8; set character_set_results=utf8; set character_set_server=utf8; set character_set_database=utf8; ..character_set_client ..character_set_connection ..character_set_database sudo emacs /etc/MySQL/my.cnf 在[client]下添加 default-character-set=utf8 在[MySQLd]下添加 default-character-set=utf8 (!!!MySQL 5.5.20 以后的版本要这样改 character-set-server=utf8) - 查看表编码 SHOW CREATE TABLE tbl_name; 改表的字符集. ALTER TABLE tbl_name CONVERT TO CHARACTER SET utf8; 重启MySQL; sudo /etc/init.d/MySQL restart; MySQL修改表、字段、库的字符集 http://fatkun.com/2011/05/MySQL-alter-charset.html/embed#?secret=tmPf4RUxzk http://www.unix.com/red-hat/168071-MySQL-MySQLd-fails-start.html

2011-04-16 · 1 min · 56 words · -

MySQL string to date

MySQL string to date MySQL中DATE_FORMAT(date, format)函数可根据format字符串格式化日期或日期和时间值date,返回结果串。 也可用DATE_FORMAT( ) 来格式化DATE 或DATETIME 值,以便得到所希望的格式。根据format字符串格式化date值: 下面是函数的参数说明: %S, %s 两位数字形式的秒 ( 00,01, . . ., 59) %i 两位数字形式的分 ( 00,01, . . ., 59) %H 两位数字形式的小时,24 小时 (00,01, . . ., 23) %h, %I 两位数字形式的小时,12 小时 (01,02, . . ., 12) %k 数字形式的小时,24 小时 (0,1, . . ., 23) %l 数字形式的小时,12 小时 (1, 2, . . ., 12) %T 24 小时的时间形式 (hh : mm : s s) ...

2011-04-16 · 2 min · 289 words · -

MySQL 函数

MySQL 函数 MySQL> select date_format(now(),'%Y-%m-%d'); MySQL> select time_format(now(),'%H-%i-%S'); -- 连接字符串, CONCAT select CONCAT('My', 'S', 'QL');

2011-04-16 · 1 min · 15 words · -

MySQL basic

MySQL basic install # client sudo pacman -S mariadb-clients # server + client sudo pacman -S mariadb mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql systemctl start mysql ### 查看有哪些数据库 show databases; ### 创建数据库, 数据库名 mydb create database db_0; #创建数据库指定数据库的字符集 create database mydb character set utf8; ### 创建新用户 user_0 CREATE USER user_0 IDENTIFIED BY 'password_0'; ### 授权用户 user0 拥有数据库 database_0 的所有权限 grant all privileges on newbee_mall.* to user_0@'%' identified by 'password_0'; # 表, 增加字段 ALTER TABLE table_name ADD field_name field_type; alter table tbl_user add email varchar(255) NOT NULL; 查看表结构 desc table_name; mysqldump mysqldump -h 192.168.50.100 -uroot -p --databases rssx --tables user --where=user_id='0' mysql GUI client for Linux Jetbrain.Datagrip ...

2011-04-15 · 6 min · 1228 words · -

主从模式 VS 哨兵sentinel模式 VS Redis cluster模式

“主从模式 VS 哨兵sentinel模式 VS Redis cluster模式” 主从模式 (redis2.8版本之前的模式) 、 哨兵 sentinel模式 (redis2.8及之后的模式) 、 redis cluster模式 (redis3.0版本之后) 主从模式原理 同MySQL主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况。为了分担读压力,Redis支持主从复制,Redis的主从结构可以采用一主多从或者级联结构,Redis主从复制可以根据是否是全量分为全量同步和增量同步。下图为级联结构。 优点: 解决数据备份问题 做到读写分离,提高服务器性能 缺点: 每个客户端连接redis实例的时候都是指定了ip和端口号的,如果所连接的redis实例因为故障下线了,而主从模式也没有提供一定的手段通知客户端另外可连接的客户端地址,因而需要手动更改客户端配置重新连接 主从模式下,如果主节点由于故障下线了,那么从节点因为没有主节点而同步中断,因而需要人工进行故障转移工作 无法实现动态扩容 sentinel 哨兵模式 Sentinel (哨兵) 是 Redis 的高可用性解决方案: 由一个或多个 Sentinel实例组成的Sentinel系统可以监视任意多个主服务器, 以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器。 优点 Master 状态监测 如果 Master 异常,则会进行 Master-slave 转换,将其中一个 Slave 作为 Master,将之前的 Master 作为 Slave Master-Slave 切换后,master_redis.conf、slave_redis.conf 和 sentinel.conf 的内容都会发生改变,即 master_redis.conf 中会多一行 slaveof 的配置,sentinel.conf 的监控目标会随之调换 缺点: 如果是从节点下线了,sentinel 是不会对其进行故障转移的,连接从节点的客户端也无法获取到新地可用从节点 无法实现动态扩容 cluster 模式 在这个图中,每一个蓝色的圈都代表着一个redis的服务器节点。它们任何两个节点之间都是相互连通的。客户端可以与任何一个节点相连接,然后就可以访问集群中的任何一个节点。对其进行存取和其他操作。 一般集群建议搭建三主三从架构,三主提供服务,三从提供备份功能。每一个节点都存有这个集群所有主节点以及从节点的信息。 它们之间通过互相的ping-pong判断是否节点可以连接上。如果有一半以上的节点去ping一个节点的时候没有回应,集群就认为这个节点宕机了,然后去连接它的备用节点。如果某个节点和所有从节点全部挂掉,我们集群就进入faill状态。还有就是如果有一半以上的主节点宕机,那么我们集群同样进入发力了状态。这就是我们的redis的投票机制,具体原理如下图所示: (1)投票过程是集群中所有master参与,如果半数以上master节点与master节点通信超时(cluster-node-timeout),认为当前master节点挂掉. (2):什么时候整个集群不可用(cluster_state:fail)? ...

3 min · 637 words · -