复制表结构
CREATE TABLE tb_students_copy LIKE tb_students_info;
查询mysql所有表数据、字段信息
mysql 查询表 所有字段
前2种有重复
select COLUMN_NAME,column_comment from
information_schema.COLUMNS where table_name = 'db_car_apply'
-- 查询表字段
select COLUMN_NAME from information_schema.COLUMNS
where table_name = '表名' and table_schema = '数据库名';
-- 查询所有字段, 含约束
SHOW FULL COLUMNS FROM 表名
MySQL中的备份和恢复
加了–single-transaction就能保证innodb的数据是完全一致的,而myisam引擎无法保证,必须加–lock-all-tables
–single-transaction参数的作用,设置事务的隔离级别为可重复读,即REPEATABLE READ,这样能保证在一个事务中所有相同的查询读取到同样的数据,也就大概保证了在dump期间,如果其他innodb引擎的线程修改了表的数据并提交,对该dump线程的数据并无影响
深入理解mysqldump原理 --single-transaction --lock-all-tables --master-data
以下命令不支持powershell(idea系列控制台也是), 支持cmd
-
备份所有数据库
mysqldump -uroot -p --all-database > all.sql
mysqldump -h localhost -P3306 -uroot -p123456 --single-transaction data docid > F:docid.sql
mysqlcmd = “/usr/bin/mysqldump -h " + HOST + " -P” + PORT + " -u" + USER + " -p" + PWD +
" --single-transaction " + DB + " " + TABLE + " > " + db_backup_dir + “/” + backup_file_name -
完全恢复
mysqldump的恢复也很简单,将备份作为输入执行即可,具体语法如下:mysql -h localhost -P3306 -uroot -p123456 data < F:docid.sql
restorecmd = “/usr/bin/mysql -h " + HOST + " -P” + PORT + " -u" + USER + " -p" + PWD + " " +
DB + " < " + db_backup_dir + “/” + backup_file_name
注意,将备份恢复后数据并不完整,还需要将备份后执行的日志进行重做,语法如下:
mysqlbinlog binlog-file | mysql -uroot -p
python调用mysqldump备份mysql
最常用MySql数据库备份恢复
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦