
1mysqllmp命令
mysqlmp是采用SQL级别的备份机制,它将数据表导成SQL脚本文件,在不同的MySQL版本之间升级时相对比较合适,这也是最常用的备份方法。
使用mysqlmp进行备份非常简单,如果要备份数据库”db_backup”,使用命令:
#mysqlmp_u-pphpbb_db_backup/backups/mysql/db_backup2008-1-6sql
还可以使用gzip命令对备份文件进行压缩:
#mysqlmpdb_backup|gzip/backups/mysql/db_backup2008-1-6sqlgz(备份后生成的sql不含建库语句!)
只备份一些频繁更新的数据库表:
##mysqlmpsample_dbarticlescommentslinks/backups/mysql/sample_dbart_comm_lin2008-1-6sql
上面的命令会备份articles,comments,和links三个表。
恢复数据使用命令:
#mysql_u-pdb_backup/backups/mysql/db_backup2008-1-6sql
注意使用这个命令时必须保证数据库正在运行。
2使用SOURCE语法
其实这不是标准的SQL语法,而是mysql客户端提供的功能,例如:
#SOURCE/tmp/db_namesql;
这里需要指定文件的绝对路径,并且必须是mysqld运行用户(例如nobody)有权限读取的文件。
3备份
只能用于备份MyISAM,并且只能运行在linux和Unix和NetWare系统上。支持一次性拷贝多个数据库,同时还支持正则表达。以下是几个例子:
#-h=localhost-u=goodcjh-p=goodcjhdb_name/tmp
(把数据库目录db_name拷贝到/tmp下)
注意,想要使用,必须要有SELECT、RELOAD(要执行FLUSHTABLES)权限,并且还必须要能够有读取datadir/db_name目录的权限。
还原数据库方法:
备份出来的是整个数据库目录,使用时可以直接拷贝到mysqld指定的目录(在这里是/usr/local/mysql/data/)目录下即可,同时要注意权限的问题,另外首先应当删除数据库旧副本如下例:
#/bin/rm-rf/mysql-backup///old
关闭mysql服务器、复制文件、查询启动mysql服务器的三个步骤:
#/etc/initd/mysqldstop
StoppingMySQL:[OK]
#cp-af/mysql-backup////var/lib/mysql/
#/etc/initd/mysqldstart
StartingMySQL:[OK]
#chown-Rnobody:nobody/usr/local/mysql/data/(将db_name目录的属主改成mysqld运行用户)
二、使用网络备份
将MYSQL数据放在一台计算机上是不安全的,所以应当把数据备份到局域网中其他Linux计算机中。假设Mysql服务器IP地址是:19216813。局域网使用Linux的远程计算机IP地址是19216814;类似于windows的网络共享,UNIX(Linux)系统也有自己的网络共享,那就是NFS(网络文件系统),在linux客户端挂接(mount)NFS磁盘共享之前,必须先配置好NFS服务端。linux系统NFS服务端配置方法如下:
(1)修改/etc/exports,增加共享目录
/export/home/sunky19216814(rw)
/export/home/sunky1(rw)
/export/home/sunky2linux-client(rw)
有关linux:
1、卸载某一个特定的挂在点。
umount /dev/datavg01 /data01
2、移掉lvm。
vgremove /dev/datavg01
3、拷贝数据。
scp -r /home/gaogetxt root@192168101:/opt 或rsync -av /root/rpmpkgs /tmp/backups/
4、显示系统盘符并以树状格式展开。
lsblk。
5、扫描新增设备。
echo "---" >/sys/class/scsi-host/hosto/scan
6、强行杀死mysql
kill -9 $(ps -ef | grep mysql)
7、将文件内容以每一行5个的形式展示出来。
cat test2txt | xargs -n 5
8、用cut去实现awk切割列的效果
cat/etc/passwd | cut -d : -f 2
9、sed、grsp、awk。之前已经说过了、具体看 从linux三剑客说起 这篇。
10、增加一个oracle用户让其属于oinstall组同时也隶属于dba组。useradd oracle -g oinstall -G dba
11、新建立一个组groupnew并将组id修改为255。
groupadd -g 255 groupnew
12、将本地/dev/hdb整盘中的数据备份到/dev/hdd上。
dd if=/dev/hdb of=/dev/hdd
13、查看服务器cpu个数。
cat /proc/cpuinfo | grep "physical id" | wc -l
14、查看服务器io状况并以每间隔1秒的速度输出5次。
iostat 1 5
15、查看服务器内存使用情况并以每间隔2秒的速度输出10次。
vmstat 2 10
16、将gaogetxt中的第一列db2找到并将db两个字符用ab替换。
cat gaogetxt |grep db2 | awk -F 2 '{print $1}' | tr db ab
17、将包名解压到指定目录。
tar -cxvf 包名 -C 指定的目录
18、linux中前后台任务切换。
ctrl+z 切换到后台、jobs显示id、fg + id 切换至前台。
19、杀掉top下stopped的进程。
ps -A -ostat,ppid,pid,cmd |grep -e '^[T]'
然后在进行kill
20、监控cpu状态。
mpstat
21、查看虚拟内存使用了多少。
swapon
22、每月1到10号4:45重启nginx。
crontab -u root -l 显示root当前的计划任务。
crontab -u root -e 后输入以下内容并保存退出。
45 4 1,10 systemctl start nginx
23、awk打印df -h 的第一列、第三列、最后一列。
df -h | awk '{print $1 " " $3 " " $NF}'
24、批量拉、打标签、推docker镜像的shell脚本。
#!/bin/bash
for image in 'docker images | grep 10171101:10000 | awk ' { print $1 ":" $2 }
do
version = 'echo $image | awk -F / ' { print $2 } '
docker tag $image 192168101/$version
docker push 192168101/$version
done
25、正则表达式匹配电话号码。
(0d{2}[) -]d{8}
26、编译安装三步骤。
/configure --prefix=安装目录
make
make install
有关kubernetes:
将kubernetes中pod的数据拷贝到物理宿主机上。
kubectl cp gyl-run/gyl-mysql-01020304: /opt/dockersh /opt
将kubernetes中物理宿主机上的数据拷贝到pod中。
kubectl cp /opt/dockersh gyl-run/gyl-mysql-01020304: /opt
检查当前用户有没有权限在k8s中创建资源权限。
kubectl auth can-i '' ''
检查当前用户有没有权限在k8s集群中创建namespace权限。
kubectl auth can-i create pods --all-namespaces
查看集群是否 健康 。
kubectl get cs
有关数据库:
查看 mysql 二进制日志格式。
show variables like ‘%binlog_format%’
查看所有二进制日志文件
show master logs
查看正在写入的二进制日志
show master status
格式化二进制显示为sql格式
mysqlbinlog --base64 --output=decode-rows -v --start-date="2019-01-25 00:00:00" --stop-date=“2019-01-26 17:30” master-bin000006
利用bin-log去还原数据
/usr/bin/mysqlbinlog --no-default /var/lib/mysql/mysql-bin00001 | usr/bin/mysql -u root -p pwd test
连接 postgresql
psql -U 用户名 -d 数据
数据库名 -h 主机地址 -p端口(默认端口为5432)
l 显示数据库列表
d 显示所有表
d 表名称 显示表结构
du 显示所有数据库用户
c 数据库名 连接数据库
q 退出pg窗口
pg备份:
pg_dump -U kong -d kong -f /opt/2019-01-26-pgsql
pg还原:
psql -d kong -U kong -f /opt/2019-01-26-pgsql
mongo 批量更新数据:把age大于20的class name修改为,设置multi为true
SQLite数据库是一种嵌入式数据库,他的目标是尽量简单,因此它抛弃了传统企业级数据库的种种复杂特性,只实现对于数据库而言的必备的功能。尽管简单性是SQLite追求的首要目标,但是其功能和性能都非常出色,它具有这样一些特性:
支持ACID事务(ACID是Automic、Consisten、Isolated和Durable的缩写)
零配置,不需要任何管理性的配置过程
支持SQL92标准
所有数据存放单独的文件中,支持的最大文件可达2TB
数据库可以在不同字节的机器间共享
体积小
系统开销小,检索效率高
简单易用的API接口
可以和TCL、Python、C/C++、JAVA、Ruby、Lua、Perl、PHP等多种语言绑定
自包含,不依赖于外部支持
良好注释的代码
代码测试覆盖率高达95%以上
开放源码,可用于任何合法途径
在 Linux 中获取硬盘信息的一种常用方法是使用命令 "df"。可以使用 "df -h" 来获取硬盘空间使用情况的人类可读格式。
要将这些信息存入数据库,首先需要在数据库中创建一个表来存储这些信息。您可以使用 SQL 语句来创建表和定义其字段。
然后,您可以使用 Linux 的管道命令来将 "df" 命令的输出导入 SQL 命令中。例如, "df -h | mysql -u <username> -p<password> <database> -e 'INSERT INTO <table> (field1, field2, field3) VALUES(<value1>, <value2>, <value3>)'"
这样就可以实现将硬盘信息自动存入数据库。
如果要自动每隔一段时间更新一次,可以使用 crontab 命令来设置定时任务。
以常见的mysql和oracle这两种数据库为例:
一、连接mysql(mysql服务已开启)
1、mysql数据库安装在本机,则直接敲入命令mysql -u root -p即可。
2、mysql数据库不是安装在本机,则需要加参数,常用参数如下:
1),-h,指定目标ip地址
2),-u,指定登录用户名。
3),-p,指定密码,密码可以接在-p后面输入mysql -uroot -p123456。也可以mysql -uroot -p回车等提示输入密码时输入,这样输入密码没有回显。
二、连接oracle数据库
1、若当前用户为root用户,则需要执行命令 su - oracle切换至oracle用户;若当前用户为oracle用户则此步骤省略。
2、若oracle安装在本机,则在oracle用户下直接执行sqlplus username/password(username,password替换成真实的用户名和密码),若提示connected则表示连接成功;
3、若oracle安装在其他机器,则在oracle用户下执行sqlplus username/password@//host:port/sid。host为oracle所在机器的ip或者机器名,port为端口号,通常为1521,sid指oracle的实例名。
扩展资料:
linux下 *** 作数据库(以mysql为例)的其他命令
一、linux下查看mysql服务的命令两种方式:
1、[root@localhost bin]ps -ef|grep mysql
2、[root@localhost bin]netstat -nlp
二、linux下启动mysql服务的两种方式:
1、命令方式:
[root@localhost bin]cd /usr/bin
[root@localhost bin]/mysqld_safe &
2、服务方式:
[root@localhost ~]service mysql start
如果服务在启动状态,直接重启服务用以下命令:[root@localhost ~]service mysql restart
三、linux下关闭mysql服务的两种方式:
1、命令方式:
[root@localhost ~]mysqladmin -u root shutdown
2、服务方式:
[root@localhost ~]service mysql stop
参考资料:
你需要查看你的数据库软件 *** 作系统支持列表才可以。目前,PC平台上较知名的数据库软件基本上都能够跨平台(即既有windows也有类unix版本)而手机平台因为出现时间较短,而且受制于单个公司(例如ios被苹果限制),且应用环境的制约,一般PC平台上出名的数据库都未见有手机版本,或者正打算出手机版本。
开源的数据库推荐你使用postgreSQL。这东西虽然是属于实验性质的数据库(基本上包括了所有能见到的数据库特性),但是无论性能还是可靠性都是不错的。这东西也有商业化的版本,当然要付费支持。
以上就是关于linux怎么备份数据库(linux如何备份mysql数据库)全部的内容,包括:linux怎么备份数据库(linux如何备份mysql数据库)、linux和k8s和数据库笔记、嵌入式linux的小数据库有哪些能介绍一下吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)