linux数据库基础 (MariaDB)、 命令补充。
数据库服务基础(数据库系统)
数据库:存放数据的仓库
在数据库系统中,有很多的数据库,在每一个库中有很多的表格
• 常见的关系型 数据库管理系统
微软的 SQL Server
IBM 的 DB2
甲骨文的 Oracle、MySQL
社区开源版 MariaDB
部署 MariaDB 数据库系统
[root@svr7 /]# yum -y install mariadb-server [root@svr7 /]# systemctl restart mariadb
MariaDB 基本使用
1. Linux 系统的管理指令不能使用
2. 所有的数据库系统指令都必须以 ; 结尾
3. 数据库系统的指令大部分不支持 tab 补全
[root@svr7 /]# mysql #进入数据库系统
> create database nsd01; #创建 nsd01 数据库 > show databases; #查看所有数据库 > drop database nsd01; #删除数据库 nsd01 > show databases; #查看所有数据库 > exit; #退出数据库系统
[root@svr7 /]# mysql #进入数据库系统
> use mysql; #切换到 mysql 数据库 > show tables; #查看当前库中所有表格 > show databases; #查看所有数据库 > use test; #切换到 test 数据库 > exit;
恢复数据到数据库中
真机为 Linux
]# ls /linux-soft/ ]# ls /linux-soft/1 ]# scp /linux-soft/1/users.sql root@192.168.4.7:/root/
真机为 windows
传递备份好的数据文件 users.sql 到虚拟机 A 中
[root@svr7 /]# ls /root abc02 users.sql 图片 桌面 [root@svr7 /]#
3.恢复数据到数据库
]# mysql test < /root/users.sql #导入数据到 test 库中 ]# mysql #进入数据库系统
MariaDB [(none)]> use test; #切换到数据库 test MariaDB [test]> show tables; #查看当前库有哪些表格
+-------------------+ | Tables_in_test | +-------------------+ | base | | location | +-------------------+
表格操作:
– 增(insert) 删(delete) 改(update) 查(select)
– 表字段、表记录
编号 姓名 住址
1 Dc 东村
2 Tc 西村
查(select)
格式: select 表字段,表字段,…… from 库名.表名;
[root@svr7 /]# mysql
> use test; > select * from base; #查看 base 所有表字段内容 > select * from location; #查看 location 所有表字段内容 > use mysql; > select * from test.base; > use test; > select id,name from base;
[root@svr7 /]# mysql
> use test; > select * from base where password='456'; > select * from base where id='4'; > select * from base where id='4' and password='123'; > select * from base where id='4' or password='123';
增(insert)
格式:insert 表名 values (‘值’,‘值’,‘值’);
MariaDB [test]> insert base values('10','dc','789'); MariaDB [test]> insert base values('11','tcc','369'); MariaDB [test]> select * from base ;
改(update)
格式: update 表名 set 表字段=‘新值’ where 表字段=’值’;
> select * from base ; > update base set password='8888' where id='1'; > select * from base ; > update base set password='9999' where id='2'; > select * from base ;
删(delete)
> use test; > delete from base where id='4' ; > select * from base ; > delete from base where id='3' ; > select * from base ;
为数据库系统管理员设置密码 mysqladmin [-u 用户名] [-p[旧密码]] password '新密码'
数据库系统管理员:对于数据库系统有最高权限,名字为 root,能 够登陆数据系统的用户信息有 mysql 库中 user 表进行储存
Linux 系统管理员: 对于 Linux 系统有最高权限,名字为 root,能 够登陆 Linux 系统的用户信息/etc/passwd 进行储存
]# mysqladmin -u root password '456' ]# mysql -u root -p #交互式进行登录 Enter password:
]#mysql -u root -p456 #非交互式进行登录
已知旧密码修改新密码
]# mysqladmin -u root -p456 password '123' ]# mysql -u root -p123
#########################################
命令补充 ◆ 获取命令帮助
方式一:命令 --help
[root@localhost ~]# cat --help
方式二:man 命令
[root@localhost ~]# man cat #按 q 退出 [root@localhost ~]# man passwd #显示 passwd 命令帮助 [root@localhost ~]# man 5 passwd
数字 5 表示帮助的类型,表示配置文件类型
历史命令
管理/调用曾经执行过的命令
– history:查看历史命令列表
– history -c:清空历史命令
– !n:执行命令历史中的第 n 条命令
– !str:执行最近一次以 str 开头的历史命令
[root@svr7 ~]# vim /etc/profile
HISTSIZE=1000 #默认记录 1000 条
[root@localhost ~]# history #显示历史命令列表 [root@localhost ~]# history -c #清空历史命令 [root@localhost ~]# history [root@localhost ~]# cat /etc/redhat-release [root@localhost ~]# ls /root [root@localhost ~]# history [root@localhost ~]# !cat #指定最近一条以 cat 开头的历史命令 [root@localhost ~]# !ls #指定最近一条以 ls 开头的历史命令
◆du,统计文件的占用空间
– du [选项]... [目录或文件]...
– -s:只统计每个参数所占用的总空间大小
– -h:提供易读容量单位(K、M 等)
[root@localhost ~]# du -sh /root [root@localhost ~]# du -sh /etc [root@localhost ~]# du -sh /boot [root@localhost ~]# du -sh /
date,查看/调整系统日期时间
– date +%F、date +%R
– date +"%Y-%m-%d %H:%M:%S"
– date -s "yyyy-mm-dd HH:MM:SS"
]# date ]# date -s "2008-9-6 11:11:11" #修改系统时间 ]# date ]# date -s "2020-9-5 15:37:11" ]# date
[root@localhost ~]# date +%Y #显示年 [root@localhost ~]# date +%m #显示月 [root@localhost ~]# date +%d #显示日期 [root@localhost ~]# date +%H #显示时 [root@localhost ~]# date +%M #显示分 [root@localhost ~]# date +%S #显示秒 [root@localhost ~]# date +%F #显示年-月-日 [root@localhost ~]# date +%R #显示时:分
制作连接(链接)文件(制作快捷方式)
格式:ln -s /路径/源数据 /路径/快捷方式的名称 #软连接
]# ln -s /etc/sysconfig/network-scripts/ /ns ]# ls / ]# ls -l /ns #查看快捷方式的信息 ]# touch /ns/haha.txt ]# touch /ns/maohehaozi.txt ]# touch /ns/shukehebeita.txt ]# ls /etc/sysconfig/network-scripts/
软连接优势:可以针对目录与文件制作快捷方式,支持跨分区
软连接缺点:源数据消失,快捷方式失效
格式:ln /路径/源数据 /路径/快捷方式的名称 #硬链接
硬链接优势:源数据消失,快捷方式仍然有效
硬链接缺点:只能针对文件制作快捷方式,不支持支持跨分区
[root@localhost ~]# rm -rf /opt/* [root@localhost ~]# echo 123 > /opt/A.txt [root@localhost ~]# ln -s /opt/A.txt /opt/B.txt #软连接 [root@localhost ~]# ls /opt/ [root@localhost ~]# ln /opt/A.txt /opt/C.txt #硬链接 [root@localhost ~]# ls /opt/ [root@localhost ~]# cat /opt/B.txt [root@localhost ~]# cat /opt/C.txt [root@localhost ~]# rm -rf /opt/A.txt [root@localhost ~]# ls /opt/ [root@localhost ~]# cat /opt/B.txt #软连接失效 cat: /opt/B.txt: 没有那个文件或目录 [root@localhost ~]# cat /opt/C.txt #硬链接仍然有效
zip 归档工具,跨平台
• 归档+压缩操作: zip [-r] 备份文件.zip 被归档的文档...
[-r]:被归档的数据有目录,必须加上此选项
]# zip -r /opt/abc.zip /etc/passwd /home ]# ls /opt/ • 释放归档+解压操作: unzip 备份文件.zip [-d 目标文件夹] ]# mkdir /nsd20 ]# unzip /opt/abc.zip -d /nsd20 ]# ls /nsd20 ]# ls /nsd20/etc/ ]# ls /nsd20/home/