mysqldump

CentOS下mysql常用命令

匿名 (未验证) 提交于 2019-12-02 22:02:20
1.开启和关闭 1.1.开启   service mysql start 1.2.关闭   service mysql stop 1.3.重启   service mysql restart 回到顶部 2.登录 2.1.密码明文   语法:mysql -u用户名 -p用户密码   举例:mysql -uroot -p123456 2.2.密码密文   语法:mysql -u用户名 -p+回车,然后输入密码   举例:mysql -uroot -p      回到顶部 3.修改密码 3.1.SET PASSWORD命令(需登录)   语法:mysql> set password for 用户名@localhost = password('新密码');   举例:mysql>set password for root@localhost = password('123456'); 3.2.使用sql语句更新 mysql 库中的 user 表(需登录)   mysql> flush privileges; 3.3.mysqladmin命令,明文(不需登录)   语法:mysqladmin -u用户名 -p旧密码 password 新密码   举例:mysqladmin -uroot -p123 password 123456 3.4.mysqladmin命令,密文(不需登录)   语法

MySQL数据库远程备份/导入

匿名 (未验证) 提交于 2019-12-02 22:02:20
数据库备份(MySQL) 步骤: 1.创建一个text文本文件 2.编写如下信息 3.保存后,修改文件的后缀名为 .bat 文件 4.双击bat文件运行即可 示例如下: ? @echo off @set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%" @set "db_name=test" D:\MySQL"MySQL Server 5.5"\bin\mysqldump --opt --complete-insert --max-allowed-packet=1073741824 -u root --password=root -h127.0.0.1 %db_name% > F:\XX\beifenSql\%db_name%_%Ymd%.dump @echo on @pause 信息说明: @echo off ?@echo on ?表示程序开始和结束 @set "db_name=test"? 设置一个db_name变量,其值是test D:\MySQL"MySQL Server 5.5"\bin\mysqldump ?表示需要打开MySQL的导出数据库的命令, 其中的"MySQL Server 5.5" 是因为此处的文件路径有空格,需要使用双引号进行区分 --opt ? 这个选项代表激活了Mysqldump命令的quick,add-drop-table

MYSQL自动备份策略的方案

匿名 (未验证) 提交于 2019-12-02 22:02:20
目前流行几种备份方式: 一、逻辑备份: 使用mysql自带的mysqldump工具进行备份。备份成sql文件形式。 优点:最大好处是能够与正在运行的mysql自动协同工作, 在运行期间可以确保备份是当时的点,它会自动将对应操作的表锁定,不允许其他用户修改(只能访问)。可能会阻止修改操作。sql文件通用方便移植。 缺点:备份的速度比较慢。如果是数据量很多的时候。就很耗时间。如果数据库服务器处在提供给用户服务状态,在这段长时间操作过程中,意味着要锁定表(一般是读锁定,只能读不能写入数据)。那么服务就会影响的。 备注:所谓的与mysql服务器能够自动协同工作,实际上是指加参数来控制mysql服务器,比如锁定所有表只能进行读,不能进行写操作。 二、物理备份: 直接拷贝mysql的数据目录。缺点,你不能去操作正在运行的mysql服务器(在拷贝的过程中有用户通过应用程序访问更新数据,这样就无法备份当时的数据)可能无法移植到其他机器上去。 直接拷贝只适用于myisam类型的表。这种类型的表是与机器独立的。但实际情况是,你设计数据库的时候不可能全部使用myisam类型表。你也不可能:因为myisam类型表与机器独立,方便移植,于是就选择这种表,这并不是选择它的理由。 更多的情况是,你会根据业务特点(比如你需要支持事务机制就必须使用innodb),查询速度和服务性能来选择表类型的。

mysqlhotcopy命令详解

匿名 (未验证) 提交于 2019-12-02 22:02:20
mysqlhotcopy命令详解 前言 mysqldump 是采用SQL级别的备份机制,它将数据表导成 SQL 脚本文件,数据库大时,占用系统资源较多,支持常用的MyISAM,innodb mysqlhotcopy只是简单的缓存写入和文件复制的过程,占用资源和备份速度比mysqldump快很多很多。特别适合大的数据库,但需要注意的是:mysqlhotcopy只支持MyISAM 引擎 使用mysqlhotcopy需要安装perl支持,因为mysqlhotcopy是prel语言写的。 所以使用前先安装一下啊以下三个perl包 [plain] yum install -y perl perl-DBI perl-DBD-MySQL 安装好了之后呢,如果你正常安装mysql的话,无论是通过yum,apt-get 还是源码安装,那么就可以直接使用 mysqlhotcopy了 mysqlhotcopy原理 mysqlhotcopy是一个Perl脚本,最初由Tim Bunce编写并提供。它使用LOCK TABLES、FLUSH TABLES和cp或scp来快速备份数据库。它是备份数据库或单个表的最快的途径,但它只能运行在数据库目录所在的机器上。mysqlhotcopy只用于备份MyISAM。它运行在Unix和NetWare中。 实际操作 这里我个人有个习惯,就是在热备的时候

6.4 MySQL 导出数据

匿名 (未验证) 提交于 2019-12-02 22:02:20
MySQL 中你可以使用 SELECT...INTO OUTFILE 语句来简单的导出数据到文本文件上。 使用 SELECT ... INTO OUTFILE 语句导出数据 以下实例中我们将数据表 runoob_tbl 数据导出到 /tmp/runoob.txt 文件中: mysql > SELECT * FROM runoob_tbl - > INTO OUTFILE '/tmp/runoob.txt' ; 你可以通过命令选项来设置数据输出的指定格式,以下实例为导出 CSV 格式: mysql > SELECT * FROM passwd INTO OUTFILE '/tmp/runoob.txt' - > FIELDS TERMINATED BY ',' ENCLOSED BY '"' - > LINES TERMINATED BY '\r\n' ; 在下面的例子中,生成一个文件,各值用逗号隔开。这种格式可以被许多程序使用。 SELECT a , b , a + b INTO OUTFILE '/tmp/result.text' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM test_table ; SELECT … INTO OUTFILE 语句有以下属性:

linux系统定时备份MySQL数据库

匿名 (未验证) 提交于 2019-12-02 22:02:20
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_37968982/article/details/90341606 一个项目的基础便是数据库,但是可能因为某些原因会导致数据丢失,或数据库结构变化,严重一点的或造成数据库删除。为了以防万一,这时候就需要我们定时进行数据库备份,但是如果人来操作的话会是一个比较麻烦的工程,这时我们可以使用mysqldump写个脚本,由Linux的crontab来定时执行。下面看看具体操作过程。 假如在我的数据库中有一个emp的数据库。 1.在linux系统中自定义一个文件夹,在我的服务器上我放在了/zhb/backup 2.在/zhb/backup下面建一个bkemp.sh的脚本文件 3.使用vi命令 vi ./bkemp.sh 写入脚本 #!/bin/bash mysqldump -uusername -ppassword emp> /home/backup/emp$_(date +%Y%m%d_%H%M%S).sql #!/bin/bash mysqldump -uusername -ppassword emp | gzip > /home/backup/emp$_(date +%Y%m%d_%H%M%S).sql.gz 上面的一句是生成一个sql文件,下面一句是生一个sql的压缩包 4

Mysql导出数据的几种方式

匿名 (未验证) 提交于 2019-12-02 21:59:42
MySQL导出数据的目的有很多种,如数据库备份、表结构导出、表数据导出、分析数据采取等。 Part1 select into outfile 先说最短小精悍的select into outfile, 这是小型数据库分析数据最常用的采集数据方式,具体语法如下: 【select 语句】 into outfile 【导出文件名】 【导出参数】 【select语句】是经典的查询SQL,可以指定列、可以有where条件、group、order、limit等。 【导出文件名】是目标文件的完整路径。由于mysql账户的权限问题,通常我们会将文件导出到临时目录,如/tmp/mysql/user/201810.csv 【导出参数】 fields enclosed by 'char':设置包括住字段的值的符号,如单引号、双引号等,默认情况下不使用任何符号。 fields optionally enclosed by 'char':设置括住CHAR、VARCHAR和TEXT等字符型字段的分隔符,默认情况下不使用任何符号。 fields escaped by 'char':设置转义字符,默认值为"\"。 lines starting by 'str':设置每行数据开头的字符,可以为单个或多个字符。默认情况下不使用任何字符。 lines terminated by 'char':设置每行数据结尾的字符

Backup MySQL Amazon RDS

纵然是瞬间 提交于 2019-12-02 21:49:31
I am trying to setup Replica outside of AWS and master is running at AWS RDS. And I do not want any downtime at my master. So I setup my slave node and now I want to backup my current database which is at AWS. mysqldump -h RDS ENDPOINT -u root -p --skip-lock-tables --single-transaction --flush-logs --hex-blob --master-data=2 --all-databases > /root/dump.sql I tested it on my VM and it worked fine but when tying it with RDS it gives me error mysqldump: Couldn't execute 'FLUSH TABLES WITH READ LOCK': Access denied for user 'root'@'%' (using password: YES) (1045) Is it because i do not have super

mysqldump error: Got packet bigger than max_allowed_packet'

£可爱£侵袭症+ 提交于 2019-12-02 21:37:35
My application download mails over IMAP and stores them in a MySQL database. Earlier I was supporting mails size upto 10 MB and hence a 'mediumtext' column to store the mail content was enough. Now I need to support mails upto 30MB. So I changed the datatype for the column to 'largetext'. Yesterday a mail with size 25 MB was stored. After that whenever I execute mysqldump command it throws error: mysqldump: Error 2020: Got packet bigger than 'max_allowed_packet' bytes when dumping table `ib_mailbox_backup` at row: 3369 Row 3369 contains the 25 MB mail. In MySQL config I increased the 'max

Can I get a dump of all my databases *except one* using mysqldump?

坚强是说给别人听的谎言 提交于 2019-12-02 20:21:26
I'm currently using mySQLdump to backup my dev machine and servers. There is one project I just started, however, that has a HUUUUUGE database that I don't really need backed up, and i'll be a big problem to add it to the rest of the backup cycle. I'm currently doing this: "c:\Program Files\mysql\MySQL Server 5.1\bin\mysqldump" -u root -pxxxxxx --all-databases > g:\backups\MySQL\mysqlbackup.sql Is it possible to somehow specify "except this database(s)"? I wouldn't like to have to specify the list of DBs manually, since that would mean that I'd have to remember updating my backup batch file