登录mysql数据库
// -h hostname mysql数据库服务器ip
// -P(大写) port端口号
// -u user-name 用户名
// -p password 密码
mysql -h192.168.0.104 -P4006 -uroot -p
查看文件大小
du -f
ls -li
du /tmp/xxx
ls -li /tmp/xxx
导出表结构和数据库
// 只导出单个数据库的表结构
// -d 相当于 --no-data
mysqldump -h192.168.0.104 -P4006 -uroot -psunlight2021 -d metadata>/usr/local/sunlight/metadata.sql
// 只导出单个数据库的表数据
-t, --no-create-info
mysqldump -h192.168.0.104 -P4006 -uroot -psunlight2021 -t metadata>/usr/local/sunlight/metadata-data.sql
// 导出单个数据库 表结构和表数据
mysqldump -h192.168.0.104 -P4006 -uroot -psunlight2021 -B metadata>/usr/local/sunlight/metadata_dd.sql
// 只导出单个数据库单个表的表结构和数据
mysqldump -h192.168.0.104 -P4006 -uroot -psunlight2021 dvsdb30 CollectFormMetaData>/usr/local/sunlight/CollectFormMetaData.sql
// 只导出单个数据库多个表 通过空格隔开
mysqldump -h192.168.0.104 -P4006 -uroot -psunlight2021 dvsdb30 table1 table2 table3 table4>/usr/local/sunlight/CollectFormMetaData.sql
// 根据where条件导出表数据和数据
mysqldump -h192.168.0.104 -P4006 -uroot -psunlight2021 --tables dvsdb30 ConfigureCache --where='isDevelop=1 and id>2' > /usr/local/sunlight/ak.sql
// 根据where条件只导出数据
mysqldump -h192.168.0.104 -P4006 -uroot -psunlight2021 -t --tables dvsdb30 ConfigureCache --where='isDevelop=1 and id>2' > /usr/local/sunlight/ak.sql
// 导出单个数据库中多个表的表结构和表数据 (加上-t只导出多个表的数据)
mysqldump -h192.168.0.104 -p4006 -uroot -psunlight2021 dvsdb30 --tables BasicUser BasicRole > /usr/local/sunlight/test.sql
mysqldump -h192.168.0.104 -p4006 -uroot -psunlight2021 -t dvsdb30 --tables BasicUser BasicRole > /usr/local/sunlight/test1.sql
// 导出所有以DAS_开头的表结构和数据(还可以压缩 |gzip >> 1.sql.gz)
mysqldump -h192.168.0.104 -P4006 -uroot -psunlight2021 dvsdb30 $(mysql -uroot -psunlight2021 -D dvsdb30 -Bse "show tables like 'DAS_%'") | gzip>> /usr/local/sunlight/abc.sql.gz
// -d只导出表结构
mysqldump -h192.168.0.104 -P4006 -uroot -psunlight2021 -d dvsdb30 $(mysql -uroot -psunlight2021 -D dvsdb30 -Bse "show tables like 'DAS_%'") >> /usr/local/sunlight/abcd.sql
// -t 只导出表数据
mysqldump -h192.168.0.104 -P4006 -uroot -psunlight2021 -t dvsdb30 $(mysql -uroot -psunlight2021 -D dvsdb30 -Bse "show tables like 'DAS_%'") >> /usr/local/sunlight/abcde.sql
// mysql命令下直接导出(注意路径好像只能是/tmp下,可以设置show variables like 'tmpdir';)
// 也可以设置目录权限 https://www.cnblogs.com/ccku/p/13560119.html
// 查看mysql进程用户
ps aux|grep mysqld 看到的用户是mysql
// 查看目录所属权限用户 ls -ld /usr/local/sunlight
// 这里要给mysql用户目录权限
chown -R mysql.mysql /usr/local/sunlight
select * from ConfigureCache INTO OUTFILE '/usr/local/sunlight/ConfigureCache.sql';
导入表结构和数据库
//假如备份的是多个数据库,可以直接执行
mysql -uroot -psunlight2010 <all.sql
// 先进入mysql
mysql -uroot -p
source /usr/local/aehyok/metadata.sql
// 或者直接导入
mysql -uroot -psunlight2010 metadata</usr/local/aehyok/metadata.sql
mysql -uroot -psunlight2010 metadata</usr/local/aehyok/CollectFormMetaData.sql
mysql全量备份和增量备份
参考如下:
## 如果是mariadb,可以用官方备份工具,
## mariabackup --backup --target-dir=$full_bk_dir --user=root
## 全量备份,然后
## mariabackup --backup --target-dir=$inc_bk_dir --incremental-basedir=$full_bk_dir --user=root
## 增量备份,速度非常快,可以试一下。 里面的变量自己替换
// 全量备份
mariabackup -uroot -psunlight2010 --backup --target-dir=/usr/local/aehyok/backup
// 增量备份(依据全量备份为基础的增量)
mariabackup -uroot -psunlight2010 --backup --target-dir=/usr/local/aehyok/backup/inc1 --incremental-basedir=/usr/local/aehyok/backup
查看mysql线程
// 在mysql 命令行中执行
// 查看当前用户下的线程
show processlist;
// 查看所有用户下的线程
show full processlist;
// mysqladmin 命令同理可以查看 我这里线程数较少,得确认是否是full 全部的线程
mysqladmin -h192.168.0.104 -uroot -psunlight2021 processlist;
// 比如查看到上面有一个update大批量数据的 可以执行kill掉该id
// 断开该线程,并停止执行其中的update语句
kill id;
// 断开当前线程中执行的sql语句,不断开线程链接
kill query id;