Skip to content

登录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;