Linux数据库mariadb管理

1.什么是数据库

简单来讲,数据库就是一个高级的Excel表格
将属性记录到文件里,把信息添加到表格里,这些表格的集合就相当于数据库

官方解释为

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。
所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

2.mariadb数据库

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。
MariaDB基于事务的Maria存储引擎,替换了MySQL的MyISAM存储引擎,它使用了Percona的 XtraDB,InnoDB的变体,分支的开发者希望提供访问即将到来的MySQL 5.4 InnoDB性能。这个版本还包括了 PrimeBase XT (PBXT) 和 FederatedX存

3.实验环境的搭建


先安装并开启mariadb(配置yum的工作我就不再这写啦,大家应该都会咯)


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

为了保证登陆数据库的安全性,就得对它进行安全设置

mysql_secure_installation 数据安全初始化
set root passwd? 设置密码

在这里插入图片描述

remove anonymous users? 是否移走匿名用户
disallow root login remotely? 是否不允许超级用户远程登陆

在这里插入图片描述

remove test database and acess to it? 
reload privilege tables now?

在这里插入图片描述

netstat -antlupe | grep mysql 查看端口,要关闭所有端口
vim /etc/my.cnf
skip-networking=1
systemctl  restart   mariadb

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

4.数据库管理

一列就是一个字段

mysql -uroot -p 进入数据库
输入密码

在这里插入图片描述

SHOW DATABASES;列出数据库

在这里插入图片描述

USE mysql 进入mysql这个库
会出现Database changed

在这里插入图片描述

SHOW TABLES;列出所有表格

在这里插入图片描述

SELECT * FROM user; 查询user表格里的所有信息

在这里插入图片描述

*可以换成想要查询的字段(列)名称
SELECT Host,User,Password FROM user WHERE Host='条件'; 查询user表格里 
Host,User,Password字段中'条件'的信息

在这里插入图片描述

1.建立:

SHOW DATABASES;		##列出库
CREATE DATABASE westos;	##建立库

在这里插入图片描述

USE westos;		##进入库
CREATE TABLE  yyh (	##建立表
    -> username varchar(50) not null,
    -> password varchar(50) not null
    -> );

(注意:varchar和char的区别在于前者设置的密码长度是不超过某个值u,比如说5,它可以是一位,两位,三位,四位,五位,但是后者会自动补齐0.就是比如你输入1它会补齐为10000)

DESC yyh;		##查看表结构

在这里插入图片描述

INSERT INTO yyh VALUES ('lee','123');		##插入数据到yyh表中

在这里插入图片描述

SELECT * FROM yyh;				##查询所有字段在yyh表中
SELECT username,password FROM yyh;		##查询指定字段在yyh表中

在这里插入图片描述

2.更改

UPDATE yyh SET password=123 where username='lee'; 给lee这个用户更改添加密码(如果不加where和后边的东西,就会给全部用户)

在这里插入图片描述

ALTER TABLE linux ADD class varchar(20);(没有加参照物就放在最后边)
ALTER TABLE linux DROP CLASS; 删除linux表的班级这个字段
ALTER TABLE linux ADD age varchar(20) AFTER  password;在password这个字段后边加入age这个字段(要有参照物)

在这里插入图片描述

ALTER TABLE linux RENAME redhat;改表的名字

在这里插入图片描述

3.删除

DELETE FROM redhat where username='lee'; 删除lee这一行的数据

在这里插入图片描述

DELETE FROM redhat where username='lee' or username= 'lee1';删除lee和lee1这两行的数据

在这里插入图片描述

DELETE FROM redhat where username='lee'AND age='12';删除名字为lee且年龄为12岁的用户数据

在这里插入图片描述

DROP TABLE redhat;删除表

在这里插入图片描述

DROP DATABASE westos;删除库

在这里插入图片描述

4.数据库的备份

如果不小心将数据库的东西删掉,至少还有备份(就不用跑路啦)
再备份先删除

mysqldump -uroot -pwestos westos > /mnt/yyh.sql

在这里插入图片描述
模拟一下:删除掉数据库westos的数据

在这里插入图片描述

恢复方式1

mysql -uroot -pwestos -e "CREATE DATABASE westos;"

在这里插入图片描述

mysql -uroot -pwestos westos < /mnt/yyh.sql

在这里插入图片描述

检验一下:
在这里插入图片描述

恢复方式2

vim /mnt/yyh.sql
table 下方
CREATE DATABASE westos;
USE westos;

在这里插入图片描述

mysql -uroot -pwestos < /mnt/yyh.sql

在这里插入图片描述

检验一下:

在这里插入图片描述

5.用户授权

CREATE USER  lee@'localhost' identified by 'westos';建立用户lee只允许在本机登陆,密码为westos

在这里插入图片描述

登陆yan用户,可以进去,但是没有查看的权限

在这里插入图片描述

GRANT SELECT,INSERT on westos.* TO yang@localhost;添加权限
SHOW GRANTS FOR lee@localhost;查看权限

在这里插入图片描述
在这里插入图片描述
检验一下:
在这里插入图片描述

REVOKE INSERT ON westos.*  FROM lee@localhost;收回westos.*里的用户权限

在这里插入图片描述
检验一下:
在这里插入图片描述

DROP USER westos@localhost 删除用户westos

在这里插入图片描述

FLUSH PRIVILEGES;	##刷新

6.密码管理

模拟: mysqladmin -uroot -pwestos passord yangyuhang(新密码,忘了)

在这里插入图片描述
解决方案:

systemctl stop mariadb 关掉进程
mysqld_safe   --skip-grant-tables & 后台运行(将安全检测放置后台)
mysql 进入数据库(不用密码)

在这里插入图片描述

update mysql.user set Password=password('westos') WHERE User='root';
quit 退出

在这里插入图片描述

ps -aux | grep mysql 查看mysql的进程
kill -9 mysql 结束掉进程
systemctl restart mariadb 重启

在这里插入图片描述

现在不能直接登陆

在这里插入图片描述

7.安装phpmyadmin 数据库图形管理(文件管理比较麻烦)

下载phpMyAdmin-3.4.0-all-languages
我的直接在,就不用下载了

在这里插入图片描述

yum install httpd -y 下载http服务
systemctl restart httpd 
tar jxf phpMyAdmin-3.4.0-all-languages   ------- > /var/www/html
mv phpMyAdmin-3.4.0-all-languages mysqladmin
cd mysqladmin

在这里插入图片描述

cp config.sample.inc.php config.inc.php
ls
less Documentation.txt 
php下边的一串字符'ba17c1ec07d65003';

在这里插入图片描述

vim config.inc.php
 'ba17c1ec07d65003';

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

yum install php php-mysql -y
systemctl restart  mariadb
systemctl restart  httpd

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
测试:
http://172.25.254.100/mysqladmin

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
检验一下:
在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值