mysql -h localhost -u root -proot < /itoffer_new.sql
很多时候DBA需要导出部分记录至开发、测试环境,因数据量需求较小,如果原库的记录多,且表数量也多,在用mysqldump命令导出时可以添加一个where参数(如自定义导出n条记录),而不必全量导出。
COLLATE:指定数据库字符集的排序规则,utf8的默认排序规则为utf8_general_ci(通过show character set查看)
我的 Django 项目做了一次实际的项目移植,就是把同一个项目连同数据库中存储的信息迁移到另外一个环境中。具体是把服务器上面的数据库迁移到了本地,也就是 Linux 服务器到本地 Windows,这篇文章就来简述一下我具体的操作过程。
update a ,b set a.name = b.name where a.id = b.id
格式: mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql 举例: /usr/local/mysql/bin/ mysqldump -uroot -p abc > abc.sql 敲回车后会提示输入密码
默认端口:3360 ;默认主机地址:127.0.0.1 也可以写成 localhost
mysqldump -u root -p source_db > /tmp/db_bak.sql #导出数据库 123456 #这里会提示你输入数据库密码 扩展1: mysqldump -u root -p dz pre_portal_comment > /tmp/pre_portal_comment_bak.sql #导出数据库中的某个表 扩展2: 现在很多项目使用阿里云数据库RDS,导入时可能会有问题,一般是数据库编码问题,gbk和utf8,要统一。 创建数据库 CREATE DA
修改mysql配置文件/etc/my.cnf 或 my.ini,在[mysqld]下添加
例:mysqldump -u dbadmin -p myblog > /home/zhangy/blog/database_bak/myblog.sql
导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径): 导出数据和表结构: mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql #/usr/local/mysql/bin/ mysqldump -uroot -p abc > abc.sql 敲回车后会提示输入密码 只导出表结构 mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql #/usr/local/mysql/bin/ mysqldump -uroot -p -d a
数据库数据导出为excel表格,也可以说是一个很常用的功能了。毕竟不是任何人都懂数据库操作语句的。
前提 : 1数据库和表都是utf8_general_ci格式 2程序代码也是utf-8格式,且使用了mysql_query("set names utf-8"); 及 htmlentities ENT_QUOTES,'utf-8'
一、导出数据库用mysqldump命令 导出数据和表结构的语法: mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql mysqldump -u root -p mytest > script.sql 以上命令执行后会出现输入密码,直接输入回车即可。 📷 📷 二、导入数据库 方法一:(虽然操作步骤多,但是操作步骤更明确) create database mytest; use mytest; set names utf8; source /home/MySQL/s
ALTER TABLE gen_table ADD COLUMN front_end varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '前端框架' AFTER options;
格式: mysql>create database 数据库名; 举例: mysql>create database database_name;
我的七月小说站点放在JCloud上,恕我直言,配合我的Aliyun服务器进行数据交互,那是相当的慢,没办法,京东云上面十几块钱的公网ip,也就这样了。 所以我决定把web服务器和数据库部署到一起。
数据无价,谨慎操作, 防止误删,学习备份... 一、mysqldump 备份工具 MySQL自带的逻辑备份工具 它支持数据库全备或指定库备份 它备份的输出以文件形式保存 并且文件内容都是SQL语句 选项 含义 -A --all-databases导出MySQL中所有数据库 -B --databases导出一个或多个数据库 -d 只导出表结构 -t 只导出表内容 --tables 指定需要导出的表名 --single-transaction innodb热备启用一个大的事务完成的备份保证数据完整性 --flu
授权指定IP连接: grant all on *.* to root@'127.0.0.1' identified by 'root110'; 其中root为访问数据库的用户名,而root110为用户的密码。 导入带中文的SQL: mysql -uroot -proot110 table < table.sql -f --default-character-set=utf8 要注意加上-f --default-character-set=utf8 导出数据库表: mysqldump -uroot -p db_name > db.sql(root为访问数据库的用户名,-p表示需要输入密码,db_name为需要导出的数据库名,db.sql为存储导出结果的文件) 如果只想导出指定的表,则可在db_name后留一空格后跟上表名即可。 导入数据文件(字段间以一个空格分隔,文件d.txt要放到目标数据库的数据目录下,如:/usr/local/mysql/data/test): load data INFILE 'd.txt' INTO TABLE x FIELDS TERMINATED BY ' '; 增加普通索引(x为表名,idx_c为索引名,f_field1为字段名): ALTER TABLE `x` ADD INDEX idx_c (`f_field1` );
项目地址:https://gitee.com/javaxiaobear/xiaobear-gen.git
很多时候,因为数据统计,我们需要将数据库的数据导出到Excel等文件中,以供数据人员进行查看,如果数据集不大,其实很容易;但是如果对于大数集的导出,将要考虑各种性能的问题,这里以导出数据库一百万条数据为例,导出时间不过20秒,值得学习的一种大数据导出方式。
一般我们是使用 PHPMyAdmin 进行数据库的操作,但是 PHPMyAdmin 是基于 PHP 构建的一个程序,对文件的大小有限制,而有时我们的数据库又特别大,怎么办呢?其实我们还可以通过 SSH 进行数据库导入和导出的操作。
作为站点或服务器运维人员,网站的备份与还原操作是必须熟练的。MySQL 数据库的导出和导入操作是必不可少的,对于一般的用户,可能使用的比较多的是 phpMyAdmin 这样的可视化操作界面,但是这种界面操作在数据库比较大的情况下,经常出错。
数据库使用的mysql,起初是单库单表,时间久了单表的数据量越来越大,一个表中的数据量达到3个多亿,mysql单表数据量达到800万左右就达到瓶颈了,不得不分表了,使用mycat中间件
1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u dbuser -p dbname > dbname.sql
在日常维护工作当中经常会需要对数据进行导出操作,而mysqldump是导出数据过程中使用非常频繁的一个工具;它自带的功能参数非常多,文章中会列举出一些常用的操作,在文章末尾会将所有的参数详细说明列出来。
mysqldump是sql级别的备份机制,它将数据表导成sql脚本文件,是非常常用的备份方法。
#!/bin/bash# databases out save# developer : eisc.cn# 开发: 小绿叶技术博客; 功能:shell 自动导出数据库,将导出的格式为 : 数据库名+时间.sql echo "linux user: $USER ; Enter the current user sudo password: " ; sudo date ; formatdate=`date +%Y.%m.%d-%H%M%S` ; echo "time year month day Hour b
1) 关闭指定网卡,如关闭网卡eth0 ifconfig eth0 down 也可以使用ifdown,通常ifdown是一个指向ifup的软链接,而ifup为一个脚本文件。 2) 命令自启动,如希望机器重启时自动关闭网卡eth0 这个只需要在文件/etc/rc.d/rc.local中添加一行“ifconfig eth0 down”即可。 3) 进入MySQL终端界面示例: mysql -h127.0.01 -P3306 -uroot -p'password' database 127.0.0.1为DB的IP地址,3306为DB的服务端口号,root为访问它的用户名,password为访问它的密码,databse为需要访问的数据库 参数database是可选的,建议password使用单引号括起来,以避免shell对它进行转义处理,比如如果密码中包含感叹号字符"!",使用双引号时需要使用斜杠“\”转义。 如果不想进入MySQL界面,只需要在上述基础上再带上参数“-e'SQL'”,如: mysql -h127.0.01 -P3306 -uroot -p'password' test -e'show tables' 4) MySQL授权指定IP连接: grant all on *.* to root@'127.0.0.1' identified by 'root110'; 其中root为访问数据库的用户名,而root110为用户的密码。 5) MySQL导入带中文的SQL: mysql -uroot -proot110 table < table.sql -f --default-character-set=utf8 要注意加上-f --default-character-set=utf8 6) MySQL导出数据库表: mysqldump -uroot -p db_name > db.sql(root为访问数据库的用户名,-p表示需要输入密码,db_name为需要导出的数据库名,db.sql为存储导出结果的文件) 如果只想导出指定的表,则可在db_name后留一空格后跟上表名即可。 7) 重启Linux服务,如重启cron: service cron restart 将上面的restart改成stop为停止,改成start为启动。 8) 网络访问策略: 禁止指定网段访问(24对应的掩码为255.255.255.0): iptables -I INPUT -s 10.6.208.0/24 -j DROP iptables -I INPUT -s 10.6.223.0/24 -j DROP iptables -I INPUT -s 10.6.224.0/24 -j DROP 为保证上述操作在机器重启后仍然有效,执行以下操作: iptables-save > /etc/sysconfig/iptables 这样IP地址:10.6.208.101、10.6.223.31和10.6.224.219等就不能访问目标机器了。 9) 日期操作 # date +%s 1479791653 # date --date='@1479791653' Tue Nov 22 13:14:13 CST 2016 10) 查找进程工作目录命令: pwdx 如: pwdx `pidof test`
参数 Mysqldump命令参数 #获得帮助 --help #备份所有库,这样设置的账号密码什么的也会备份了 --all-databases #不缓冲查询,直接导出到标准输出。默认为打开状态 --quick #如果有3个数据库整体导出,每次只会对一个库添加只读锁,不会影响其它数据库。所以该参数只能保证各个schema自己的数据一致性快照。该参数默认打开。 --lock-tables #不锁表,保证各个表具有数据一致性快照。这期间增删改查正常,但是alter table等对表结构发生更改的语句要被挂起。默认关
打开 Linux 或 MacOS 的 Terminal (终端)直接在 终端中输入 windows 快捷键 win + R,输入 cmd,直接在 cmd 上输入
# coding:utf8 import sys reload(sys) sys.setdefaultencoding('utf8') # author: 'zkx' # date: '2018/3/11' # Desc:从数据库中导出数据到excel数据表中 #已封装,可以直接使用,只需更改sql语句即可 import xlwt import MySQLdb def export(host,user,password,dbname,table_name,outputpath): conn = MySQL
Mysql数据的迁移,推荐两种方式 1. mysqldump mysqldump比较适合几十万上百万的较小数据的迁移使用 2. mysql load data load data infile 语句可以从一个文本文件中以很高的速度读入一个表中,性能大概是 insert 语句的几十倍,比较适合上千万级及更高的海量数据迁移使用
数据字典 数据字典是存放有关数据库信息的地方,其用途是用来描述数据的。 比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等。 数据库数据字典是一组表和视图结构。它们存放在SYSTEM表空间中,当用户在对数据库中的数据进行操作时遇到困难就可以访问数据字典来查看详细的信息。 用户可以用SQL语句访问数据库数据字典。 数据字典内容包括: 数据库中所有模式对象的信息,如表、视图、簇、及索引等。 分配多少空间,当前使用了多少空间等。 列的缺省值。 约束信息的完整性。 用户的名字
在使用MySQL时要注意6个需要编码的地方:系统的编码、客户端、服务端、库、表、列。字符集编码不仅影响数据存储,还影响client程序和数据库之间的交互.在mysql中输入命令show session variables like '%char%'能够看到例如以下一些字符集(下面是以win10为例,生产中多数时linux,在linux里面除了latin1之外都是utf8的字符集):
使用 MySQLdump 工具的优点是简单易用、容易上手,缺点是停机时间较长,因此它适用于数据量不大,或者允许停机的时间较长的情况。
分享点自己近4年来接触MySQL数据备份这一块的小经验。数据是一个互联网公司的命脉,数据库的安全以及备案的完整性是至关重要的,所以我们需要在工作中要很熟练的掌握数据的备份与恢复,这也是一个合格的运维DBA必须具有的职业技能。
在项目实施的过程中,经常会面临数据库迁移,导出和导出数据,如果用普通的mysql客户端备份,时间较长且容易出错。那么mysql快速备份及迁移,就成为数据库迁移的重中之重。
mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql (增加-d参数)
之前的percona-toolkit工具集的使用博文里面也写到pt-archiver这个工具的用法,但是不够深入全面。这里补充完善下。
MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。
Q:什么是存储引擎? A:比如一个视频文件可以转成mp4,avi,wmv,而存储进磁盘中也会存在不同类型的文件系统中如linux中的ext3,ext4,xfs等.(直观区别就是占用系统的空间大小与清晰程度可能不一样);
(1) mysql (2) mysqldump (3) mysqlbinlog (4) mysqladmin (5) mysqlsafe (6) mysqlshow (7) mysqld
--add-drop-database 每个数据库创建之前添加drop数据库语句。
我们在运营项目的过程中肯定会遇到备份数据库,还原数据库的情况,我们一般用一下两种方式来处理:
#!/bin/bash # 数据库管理脚本: 安装mysql8数据库创,建用户并创建测试表,修改密码, InputRead(){ echo " 懒得输入信息,我已经在脚本内配置登录信息,请一直回车确认" read -p "请输入管理员用户:" rootuser read -p "请输入管理员密码:" rootuserpasswd read -p "指定用户名:" user read -p "指定用户密码:" passwd read -p "指定用户数据库:" database sleep 3; # roo
从原生PostgreSQL数据库迁移业务数据到KunlunBase集群。由于KunlunBase兼容postgreSQL协议,因此可以直接支持Pg数据导入导出工具:pg_dump和pg_restore。
将连接名改为需要连接的依赖名 (在 docker-compose.yml 中配置);
领取专属 10元无门槛券
手把手带您无忧上云