数据库基本管理

mariadb数据安装

mariadb属于mysqul的分支
[root@www yum.repos.d]# yum install mariadb-server.x86_64##安装mariadb
[root@www yum.repos.d]# systemctl start mariadb##打开mariadb服务
[root@www yum.repos.d]# mysql##直接输入mysql进行数据库操作
[root@www yum.repos.d]# vim /etc/my.cnf##这个是配置文件的目录
[root@www yum.repos.d]# cd /var/lib/mysql##记录数据的文件目录(重装mariadb需要删除这个目录,然后reininstall)
[root@www mysql]# ls

aria_log.00000001  ibdata1      ib_logfile1  mysql.sock          test
aria_log_control   ib_logfile0  mysql        performance_schema

[root@www mysql]# netstat -antlupe |grep mysql##mysql对外的端口是3306

tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      27         180874     23062/mysqld        

##切换一台虚拟机,然后完成远程连接mysql数据库(切换到192.168.0.150那台虚拟机)
##这台虚拟机没有mysql数据库,但是
[root@localhost yum.repos.d]# yum whatprovides */mysql

在这里插入图片描述
[root@localhost yum.repos.d]# yum install mariadb-5.5.60-1.el7_5.x86_64##给IP150的主机安装他的
[root@localhost yum.repos.d]# mysql -uroot -h192.168.0.100##用连接刚刚安装mysql的IP为100的mysql数据库

ERROR 1130 (HY000): Host '192.168.0.105' is not allowed to connect to this MariaDB server

##这里提示说root用户没有权限,这说明mysql是可以向外
##切换成IP100的主机
[root@www mysql]# vim /etc/my.cnf

在这里插入图片描述
##把数据库在网络中开启的接口功能跳过
[root@www mysql]# systemctl restart mariadb##重启服务
##然后再切换回IP150的主机
[root@localhost yum.repos.d]# mysql -uroot -h192.168.0.100

ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.0.100' (111)

##这次报错直接显示mysql数据库连接不了,数据库更加安全
##切换回100的主机
在这里插入图片描述
##默认情况下本机可以直接访问mysql数据库
对mysql数据库进行设置
[root@www mysql]# mysql_secure_installation
第一个系统询问原本在mysql里面的root用户的密码(因为没有设置过,所以不用输入直接回车跳过)
第二个询问是否设置密码,回车后,设置密码
接下来分别是移除匿名用户的访问权限,移除超级用户远程登录权限,测试的数据库删除,对数据库进行刷新,这些分别都是回车(肯定的回复)
[root@www mysql]# mysql -uroot##这样mysql数据库不能直接登录了

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

在这里插入图片描述
##登录数据库需要加上-p 还要输入密码
##登录上mysql后输入SHOW DATABASES;
在这里插入图片描述
MariaDB [(none)]> USE mysql

在这里插入图片描述
##查看数据库的表
MariaDB [mysql]> SELECT * FROM user;
##查看user表格,也可以将*改为要查看的目录的内容
在这里插入图片描述
##这下就可以查看特定的需要查看的内容

数据库的读写操作

在这里插入图片描述
##数据库其实就是一个高级的excl表格,然后把里面的数据分类整理
在这里插入图片描述
##usermessage就相当于一个数据库,表就是uesrfile,每一个条目username,passwd都叫一个字段
##如何查询数据库
[root@www usermessage]# mysql -uroot -p##进入数据库
MariaDB [(none)]> SHOW DATABASES;##这个相当于shell里面的ls功能查看数据库里面都有什么东西,如何进入那些数据库

MariaDB [(none)]> USE mysql##这个就是进入mysql数据库,类似于shell的cd mysql命令
MariaDB [mysql]> SHOW TABLES;##这个时候已经进入mysql数据库,这个命令就是进入目录后然后再ls,查看文件的内容
MariaDB [mysql]> SELECT * FROM user;##查看user里面的内容,相当于shell里面的cat命令
MariaDB [mysql]> DESC user;##查看user数据库里面有多少字段信息,也叫表的结构
MariaDB [mysql]> CREATE DATABASE westos;##新建一个westos数据库
在这里插入图片描述
##可以看到westos数据库已经创建
MariaDB [mysql]> USE westos;##进入westos

Database changed

MariaDB [westos]> SHOW TABLES;##可以看到westos数据库里面为空

在这里插入图片描述
在这里插入图片描述
##创建一个叫linux的文件,然后username是他的字符串,然后varche是他的字符类型为不超过10个字节,后面是填写不能为空
在这里插入图片描述
##然后密码设置不能为空的不超过50位
在这里插入图片描述
##可以看到他有两个字符username和password两个字符串
在这里插入图片描述
##可以看到表信息为空
在这里插入图片描述
##给username填写进信息,相当于文件的内容(username的字符没有超过10个,也没有为空,westos的密码也没超过50个字符)

数据的修改

在这里插入图片描述
##这是对数据库里面数据的更新,然后先输入修改的内容passwor的密码为6666,然后再输入条件是lee这个username
在这里插入图片描述
##表名为linux改为user,记得再改回来
##增加字段class
在这里插入图片描述
##varchar(10),限制字符串为不超过10个
在这里插入图片描述
##再增加表age
在这里插入图片描述
##删除表age
在这里插入图片描述
##将age的表不默认加到最后面,而是加到passwd后面

数据库的备份删除

在这里插入图片描述
##文件的备份是cp到一个新的地方
在这里插入图片描述
##查看数据库
在这里插入图片描述
##查看westos数据库里面的linux表的信息
[root@www usermessage]# mysqldump -uroot -p --all-database##备份所有的数据库
root@www usermessage]# mysqldump -uroot -p --all-database --no-data##这个只备份表的结构,不备份具体里面的内容
[root@www usermessage]# mysqldump -uroot -p westos##只备份westos数据库
[root@www usermessage]# mysqldump -uroot -p westos > /mnt/westos.sql##将备份放到westos.sql文件里面
在这里插入图片描述
##删除westos数据库
在这里插入图片描述
##将备份的westos.sql还原到mysql里面,但是报错,显示不存在westos数据库
[root@www mnt]# vim westos.sql
在这里插入图片描述
在这里插入图片描述
##这次还原备份都不需要输入数据库的名字了,因为刚刚编辑的脚本里面已经加入了创建westos数据库的信息
在这里插入图片描述
##直接在shell里面加上-e也可以直接查看数据库的表里面的内容,可以看到westos数据库已经恢复了
##上面是一种恢复数据库的方法,下面也是另外一个方法
在这里插入图片描述
##如何删除表里面的的一个条段
在这里插入图片描述
##删除linux这个表
在这里插入图片描述
##删除westos数据库
在这里插入图片描述

数据登录密码破解

在这里插入图片描述
##如果已知密码,修改密码可以,将密码修改为040030
[root@www mnt]# mysqladmin -uroot -p password 040030
Enter password:

##如果忘记密码怎么办
[root@www mnt]# systemctl stop mariadb##停止数据库服务
[root@www mnt]# mysqld_safe --skip-grant-tables &##跳过他的授权表,因为会长期占用shell因此加上&后台运行
200713 23:53:37 mysqld_safe Logging to ‘/var/log/mariadb/mariadb.log’.
200713 23:53:37 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
[root@www mnt]# mysql##然后直接输入mysql就进入数据库
在这里插入图片描述
##进入mysql数据库
在这里插入图片描述
##选择他的user的表
在这里插入图片描述
##user表里面的信息查看主机,user password, 我们更新user的针对root用户的密码为cxg,但是密码却变成铭文了
在这里插入图片描述
##在原本的参数上加上-password(‘cxg’),就将密码改为加密的了
在这里插入图片描述
##然后把刚才那个后台找到
在这里插入图片描述
##关闭有关mysql的后台,然后重启服务就完成了数据库密码的修改。
[root@www mnt]# systemctl start mariadb##再开启mariadb服务,这个数据库的密码就已经修改了

数据库的授权

MariaDB [(none)]> CREATE USER lee@'%' identified by '123';##创建数据库的名字为USER,lee是他的User(用户), ‘%’代表允许任何远程连接来连接这个数据库,如果将‘%’修改为localhost就只能本地登录这个数据库,identified by是密码的意思,123是密码
在这里插入图片描述
##可以看到lee User已经被创建出来了
##退出root用户登录的数据库,然后用lee用户登录
在这里插入图片描述
##lee用户没有权限查看数据库
在这里插入图片描述
##用root用户登录就可以查看到数据库的信息
##那如何给lee用户授权查看数据库的信息
MariaDB [(none)]> SHOW GRANTS FOR lee@'%';##查看lee的授权信息,可以看到他没有什么权力

+----------------------------------------------------------------------------------------------------+
| Grants for lee@%                                                                                   |
+----------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'lee'@'%' IDENTIFIED BY PASSWORD '*23AE809DDACAF96AF0FD78ED04B6A265E05AA257' |
+----------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
MariaDB [(none)]> GRANT SELECT ON westos.* TO lee@'%'##给lee@‘%’针对westos数据库读的权限,.*代表westos里面的所有表
MariaDB [(none)]> SHOW GRANTS FOR lee@'%';##查看lee的权限已经可以看到有前面注入的读的权限了
+----------------------------------------------------------------------------------------------------+
| Grants for lee@%                                                                                   |
+----------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'lee'@'%' IDENTIFIED BY PASSWORD '*23AE809DDACAF96AF0FD78ED04B6A265E05AA257' |
| GRANT SELECT ON `westos`.* TO 'lee'@'%'                                                            |
+----------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

在这里插入图片描述
##重新登陆,可以看到lee用户的westos库就可以看到了
MariaDB [westos]> INSERT INTO user VALUES ('westos','123');##但是想写入表信息发现没有权限

ERROR 1142 (42000): INSERT command denied to user 'lee'@'localhost' for table 'user'
MariaDB [(none)]> GRANT INSERT,DELETE ON westos.* TO lee@'%';##给他删除的权限
Query OK, 0 rows affected (0.00 sec)

在这里插入图片描述
##lee已经有注入的权限了
##切换成lee用户的数据库,
MariaDB [(none)]> INSERT INTO westos.user VALUES ('westos','123');##可以看到已经可以创建表的内容了

Query OK, 1 row affected (0.07 sec)
MariaDB [(none)]> DELETE FROM westos.user WHERE username='westos';##也可以删除创建的内容
Query OK, 1 row affected (0.04 sec)

##可以看到第二注入的写的权力里面既有写入还有删除的权力,如何取消掉删除的权力
在这里插入图片描述
##退出lee用户,登录root用户,然后将DELETE权限从westos数据库里面针对lee用户去除掉
在这里插入图片描述
##可以看到里面已经没有delete权限了
MariaDB [(none)]> DROP USER lee@'%';##删除lee用户

Query OK, 0 rows affected (0.00 sec)

在这里插入图片描述
##可以看到user里面已经没有lee用户了

数据库的图形管理工具

在这里插入图片描述
##因为数据库没有补充功能,使用不方便,可以使用web图形方式进行操作
在这里插入图片描述
##去下载web类型的mysql
[root@www mnt]# unzip phpMyAdmin-5.0.2-all-languages.zip -d /mnt/##将下载的解压包解压到/mnt/
在这里插入图片描述
##再将它重新命名为mysqladmin
[root@www mnt]# cd mysqladmin/
[root@www mysqladmin]# less README

在这里插入图片描述
##可以看到他要求PHP版本高于5.2,mysql版本高于5.0,还有一个浏览器,包括下载的软件包和文件下面都有
[root@www mysqladmin]# cp config.sample.inc.php config.inc.php##将这个文件重命名
[root@www mysqladmin]# vim config.inc.php##编辑这个文件

在这里插入图片描述
##输入加密字符串
##然后访问192.168.0.100/mysqladmin就可以访问web版本的mysql了
在这里插入图片描述
##root的密码是cxg然后web网页登录
在这里插入图片描述
##登录进mysql了
在这里插入图片描述
##点击数据库,然后输入新的数据库的名字,再点创建就创建了新的数据库
在这里插入图片描述
##然后点击进入westos数据库,然后命名表的名字为linux,字段数为4个
在这里插入图片描述
##字段名都设置好,字符长度也可以设置,然后点击保存。
在这里插入图片描述
##点击linux表,其实执行的命令也是在显示着
在这里插入图片描述
##点击插入可以增加内容
在这里插入图片描述
##可以看到这是他实际执行的命令可以看到
,还有很多功能可以修改

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值