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表,其实执行的命令也是在显示着

##点击插入可以增加内容

##可以看到这是他实际执行的命令可以看到
,还有很多功能可以修改
本文详细介绍MARIADB的安装步骤、配置方法、基本操作、权限管理及图形化工具使用,涵盖服务启动、数据库创建、远程连接、安全性设置、用户管理、备份恢复等关键环节。
325

被折叠的 条评论
为什么被折叠?



