数据库基本管理及常用命令

1.什么是数据库?

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作 所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合 数据对一个企业是非常重要的,其实就相当于我们每个人的信息就是自己的属性,并且把它记录在一个文件里面 多张表格组成一个数据库,tab (表)---->db (库)----->数据库软件 我们现在学对数据库的一些基本操作,其实就是一个高级的excel表格

2.安装mariadb数据库的服务软件

(1)安装并且开启mariadb服务

 yum install mariadb-server.x86_64 
 systemctl start mariadb

(2)vim /etc/my.cnf #编辑其配置文件
添加:

sysbolic-networking=1     #关闭网络接口3306(跳过网络接口)

在这里插入图片描述

systemctl  restart  mariadb
netstat -antlupe | grep mysql #(查看数据库的网络接口是否已经关闭)

(3)安全初始化

数据库起始状态设定信息是不安全的,需要做以下设定

mysql_secure_installation  #数据库安全初始化脚本,给定root用户以及密码

在这里插入图片描述在这里插入图片描述
登陆数据库的技巧

mysql -uroot -p123这样很不安全,直接裸露密码很不安全
在这里插入图片描述

mysql -uroot -p直接可以利用刚才设置的密码进行登陆数据库了

3.数据库的管理

mysql -uroot -p      #先进入数据库 
SHOW DATABASES;     #查看都有哪些数据库(可以看到存在的数据库的名字) 
USE DATABASENAME(刚刚查看出来的;   #进入指定的一个数据库 SHOW TABLES;查看该数据库中有哪些表格 
SELECT * FROM TABLENAME;          #(查看该表格中的所有内容,如果太多的话可以选择自己想要查看的) 
SELECT Host User (列:字段条件) FROM user(表格名字) WHERE User='root'(行条件);     #(相当于条件查询)
DESC  TABLENAME      #查看表格属性

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2)数据库的建立

mysql -uroot -p 先进入数据库
SHOW DATABASES;		            ##列出存在的库
CREATE DATABASE westos(名字);	##建立新的库
USE westos;		                ##进入新建立的这个库
CREATE TABLE  linux (	        ##在这个库里面建立表
    -> username varchar(10) not null,   #用户登陆的时候名字和密码不能为空,varchar(10)表示字符长度
    -> password varchar(10) not null
    -> );                     #以这个结尾
DESC linux;		              ##查看新表的结构
INSERT INTO linux VALUES ('lee','123');   #插入数据到linux表中;其中linux为表格名字
SELECT * FROM linux;				        ##查询所有在linux表中字段
SELECT username,password  from linux;		##查询在linux表中指定字段

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

(3)数据库的更改

数据库的名字不能随便更改(涉及到数据库之间的关连查找)
其实数据库也是以目录下文件的形式存在的
在目录下,也可以直接改数据库的名字,也能成功,但是不安全

UPDATE linux SET password=password('lee') where username='lee';        # 更改表格里面的信息
ALTER TABLE linux ADD class varchar(20);                #在表格里面添加列
ALTER TABLE linux DROP CLASS;                           #在表格里面删除这个列
ALTER TABLE linux ADD age varchar(20) AFTER  password;  #添加列的时候指定位置(不能在最前面,没有参照物的话会造成数据丢失)
ALTER TABLE linux RENAME redhat;                        #给数据库更改名字

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
(4)数据库的备份和删除(数据库、表格、表格里面的内容)

备份

mysqldump -uroot -p --all-database   #备份所有数据库
mysqldump -uroot -p --all-database --no-data  #只备份表结构
mysqldump -uroot -p  westos   #备份westos数据库
mysqldump -uroot -p  westos > /mnt/westos.sql   #将westos数据库导入/mnt下

先备份再删除

DELETE FROM userlist WHERE username='lee';删除userlist这个表格里面名字是lee的这一行
DELETE FROM userlist WHERE username=‘lee’ or username='lee1‘;删除两行
DELETE FROM userlist WHERE username='lee' AND age='12';当遇到名字一样的时候用
DROP TABLE userlist;删除表格
DROP DATABASE westos;删除数据库

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

数据库的恢复:
/mnt/westos.sql 为备份的数据库
方法一:

mysql -uroot  -p  -e  "CREATE DATABASE westos;"
mysql -uroot  -p  westos  < /mnt/westos.sql

在这里插入图片描述
在这里插入图片描述

删除westos数据库:mysql -uroot -p123 -e "drop database westos;" 
查看数据库内容:mysql -uroot -p123 -e "select * from westos.linux;"

方法二:

vim /mnt/westos.sql 
添加:
CREATE DATABASE WESTOS;
USE westos;
mysql -uroot -p < /mnt/westos.sql

在这里插入图片描述

4.数据库登陆密码破解

(1)知道数据库密码,更改数据库的密码:

mysqladmin -uroot -p password  westos   #将密码改为westos;

在这里插入图片描述(2)忘记密码时,如何破解

systemctl stop mariadb  
mysql_safe --skip-grant-tables
ctrl+Z  #打入后台
输入: mysql

在这里插入图片描述
在mysql中输入如下命令:

show databases;
use mysql;
show tables;
select host,user,password from user;
update mysql.user set Password=password("westos") where User="root";
quit
killall -9 mysql_safe
ps -aux | grep mysql
kill -9  mysql的所有进程的id
 systemctl start mariadb  

到此密码修改成功
在这里插入图片描述
在这里插入图片描述

5.数据库的授权

建立用户

create user lee@localhost identified by "123"
mysql -ulee -p123
SHOW DATABASES;可以登陆,但是没有权力

在这里插入图片描述
查看用户权力

 SHOW GRANTS FOR lee@localhost;					#没有授权信息

在这里插入图片描述进入root用户对lee用户授权

GRANT SELECT ON westos.* TO lee@localhost;		#授权
SHOW GRANTS FOR lee@localhost;				  #再次查看

在这里插入图片描述
再次登陆lee用户查看授权的数据库
在这里插入图片描述

use westos;
insert into linux values ("westos","123");  #被拒绝

在这里插入图片描述
登陆超级用户进行授权

 grant insert,delete on westos.* to lee@localhost;
 SHOW GRANTS FOR lee@localhost;    #查看授权

在这里插入图片描述登陆lee用户验证

insert into linux values ("jpf","123","22");   #添加行
select * from linux;     #查看

在这里插入图片描述
撤销权力:

REVOKE  DELETE  ON  westos.*  FROM  lee@localhost;
show grants for lee@localhost;     #查看授权

在这里插入图片描述

 drop user lee@localhost;   #删除用户
 select User from mysql.user    #查看用户

在这里插入图片描述

6.数据库的图形管理工具

下载phpMyAdmin-3.4.0-all-languages.tar.bz2,在/var/www/html/中解压:

tar -jxf phpMyAdmin-3.4.0-all-languages.tar.bz2

安装所需软件:
yum install httpd -y
yum install php php-mysql -y
systemctl restart httpd.service
mv phpMyAdmin-3.4.0-all-languages phpMyAdmin #重命名安装包

2 修改配置文件
cd phpMyAdmin/

 cp config.sample.inc.php config.inc.php

 vim config.inc.php

	$cfg['blowfish_secret'] = 'ba16c1ec07d65003'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

在这里插入图片描述

3 测试

地址栏输入:http://172.25.254.216/phpMyAdmin
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值