IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> mysql数据库的基本管理 -> 正文阅读

[大数据]mysql数据库的基本管理

一、数据库的介绍

1.数据库就是个高级的表格软件

2.常见数据库

Mysql Oracle mongodb? db2 sqlite sqlserver .......
3.Mysql (SUN -----> Oracle)
4.mariadb 是数据库服务器

数据库中的常用名词

字段????? :表格中的表头
表????????? :表格
库????????? :存放表格的目录
查询????? :对表格中的指定内容进行查看

二、数据库的启用

1.mariadb的安装

?systemctl enable --now mariadb? ##数据库开启?? 在/var/lib/mysql 有其相关配置文件

2.软件基本信息?

mariadb.service?????????????????????????????? ##启动服务
3306???????????????? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ##默认端口号
/etc/my.cnf.d/mariadb-server.cnf??? ##主配置文件
/var/lib/mysql?????????????????????????????????? ? ##数据目录,当需要重新安装mariadb时需要清理此目录或备份
?

三、数据库的基本管理

1.查看

mysql???

SHOW DATABASES;????? ##显示库名称

SELECT * FROM? mysql.user; ##查询所有数据?

SELECT User,Password,Host FROM mysql.user;? ##查询指定字段

?USE mysql; ##进入mysql库

SHOW TABLES; ##显示库中的所有表?

SELECT Host,Password FROM mysql.user WHERE User='root'; ##查看指定的Host ,Password其中用户字符为root

?SELECT Host,Password FROM mysql.user WHERE Host='localhost' AND User='root';##查看指定的Host ,Password其中指定用户字符为root和localhost

netstat -antlupe | grep mysql 端口号为3306

2.数据库的安全初始化

?(1)关闭数据库开放端口

vim /etc/my.cnf.d/mariadb-server.cnf? 写入skip-networking=1 ##关闭网络连接,只监听本地客户端

查询不到端口?

(2)执行安全初始化脚本

? mysql?????????? ##默认不需要密码,初始化完毕后需要

??mysql_secure_installation##执行安全初始化脚本,之后设定权限密码

?mysql -u root -p root## -u 指定登陆用户 -p 密码

?mysql -u root -pwestos(一般不用,密码被泄漏)

3.新建和删除
CREATE DATABASE westos;?????? ##新建westos库


CREATE TABLE linux (??????????????????? ##新建表?
username varchar(6) not null,? ##用户名的可变长度为6,不允许出现重复
password varchar(30) not null
);


DESC linux;?????????? ##显示表结构

INSERT INTO linux VALUES ('user1','123'),('user2','123'); #插入数据


FLUSH PRIVILEGES;??????????????? #刷新数据库

##更改westos库名称为westoslinux(改完之后不能更改库里面的表) 必须得重启服务

为了更改库里面的表得重新改回来

?ALTER TABLE linux RENAME userlist; ##表linux重命名为userlist

DESC userlist;?##显示表结构

ALTER TABLE userlist ADD address varchar(20);##在表userlist中添加address这一项

?ALTER TABLE userlist ADD age varchar(4);##添加age 字符可变长度为4

?ALTER TABLE userlist DROP age ##删除age

ALTER TABLE userlist ADD age varchar(4) AFTER username;##添加age在username后面?

??UPDATE userlist SET age='20'; ##设定表中age为20

??UPDATE userlist SET age='25' WHERE username='user2';##设定表中用户user2的age为20

?DELETE FROM userlist WHERE username='user1';##删除用户1

?DROP TABLE userlist;##删除表?

DROP? DATABASE westos; ##删除库

4.数据库的备份?

查看数据库的状态
systemctl status mariadb


建立实验素材

mysql -u root -p
SHOW DATABASES;
CREATE DATABASE westos;
 CREATE TABLE westos.userlist(
    -> username varchar(10) not null,
    -> password varchar(20) not null
    -> );
INSERT INTO westos.userlist VALUES ('user1','123'),('user2','123');
SELECT * FROM westos.userlist;

mysqldump -uroot -pwestos --all-database ##备份所有数据


mysqldump -uroot -p1westos --all-database --no-data ##只备份结构,无数据
mysqldump -u root -pwestos westos > /mnt/westos.sql##备份到mnt里面

5. 数据恢复

mysql -u root -pwestos -e "DROP DATABASE westos;" ##用户root登陆执行删除数据库westos
mysql -u root -pwestos -e "SHOW DATABASES;;"
mysql -u root -pwestos westos < /mnt/westos.sql ##直接从mnt恢复会报错,因为数据库westos已经不存在

方法一:

mysql -u root -pwestos -e "CREATE DATABASE westos;;" ##必须先创建一个库;
mysql -u root -pwestos westos < /mnt/westos.sql? ##把/mnt里面的内容恢复过去

同时也会把库里面的表也恢复过来了

?方法二:
vim /mnt/westos.sql写入CREATE DATABASE westos;
???????????????????? ? ? ? ? ? ? ? ? ? ? ? USE westos;


mysql -u root -pwestos? < /mnt/westos.sql

6 .数据密码管理

(1)数据密码更改
mysqladmin -u root -pwestos password lee ##修改密码
mysql -uroot -plee? ##登陆

?(2)数据库密码破解

systemctl stop mariadb.service
mysqld_safe --skip-grant-tables & ##开启单元模式,跳过授权表

?mysql
SELECT * FROM mysql.user;

UPDATE mysql.user SET authentication_string='westos'? WHERE User='root';##当使用过mysladmin更改过密码 的用authentication_string

UPDATE mysql.user SET Password='westos' WHERE User='root';##当未使用过mysladmin更改过密码的用Password

显示的明文密码缺乏安全性

?UPDATE mysql.user SET authentication_string=password('westos') WHERE User='root';

显示的密码为加密字符

?flush privileges;

之后ps aux | grep mysql
?????? kill -9 mysql的所有进程

systemctl restart mariadb 修改生效

7.授权管理?

?vim /etc/my.cnf.d/mariadb-server.cnf 修改skip-networking=0

重启服务;查看端口是否被占用 ;阻止火墙

?mysql -u root -pwestos -e "CREATE USER lee@localhost identified by 'lee';" ##创建本地用户lee密码为lee? 只能用localhost登陆
mysql -u root -pwestos -e "CREATE USER linux@'%' identified by 'lee';"##linux可以通过网络或localhost登陆

?测试:

?mysql -u linux? -plee 可以登录?

用其他主机登录时?mysql -ulinux -plee -h172.25.254.200 可以登录

用户lee登陆进去之后SHOW DATABASES; 看不了没有权限

?mysql -uroot -pwestos -e "GRANT SELECT ON westos.* TO lee@localhost;" ##把westos库的所有的查询权限授权给用户lee
mysql -uroot -pwestos -e "SHOW GRANTS FOR lee@localhost;" ##查看授权

?INSERT INTO westos.userlist VALUES('user3','123');##但是写入不了内容,没有权限

?mysql -uroot -pwestos -e "GRANT DROP,INSERT ON westos.* TO lee@localhost;"##加入删除,写入的授权
mysql -uroot -pwestos -e "SHOW GRANTS FOR lee@localhost;" ##查看授权

?mysql -uroot -pwestos -e "REVOKE DROP ON westos.* FROM lee@localhost;"##回收删除的权限

?mysql -uroot -pwestos -e "DROP USER linux@'%';"##删除用户linux

8.phpmyadmin的安装

phpmyadmin是以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具;

netstat -antlupe | grep 80 ##先查看端口有没有被占用
dnf install httpd php php-mysqlnd -y

?systemctl enable --now httpd ##如果报错可以查看journalctl -xe查看报错地址

tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2 ##解压安装包
rm -fr phpMyAdmin-3.4.0-all-languages.tar.bz2##解压完之后删除安装包?

mv phpMyAdmin-3.4.0-all-languages mysqladmin##名字改为mysqladmin?

?less? README

?less Documentation.txt 看到

cp config.sample.inc.php config.inc.php ##复制模板文件到config.inc.php?

测试:浏览器中输入172.25.254.200/mysqladmin
root用户登录切换为中文
?

插入用户lee ,密码123??

?

?在shell 中可以看到表的内容

?

?

?

?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-11-25 08:11:03  更:2021-11-25 08:12:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 7:43:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码