数据库的管理

1. 数据库的简介
定义:数据库(Database)就是一种按数据结构来组织,存储和管理数据的仓库,其中包含数据挖掘,大数据信息的推送。
mariadb数据库管理系统是mysql的一个分支,主要由开源社区在维护,采用GPL授权许可 mariadb的目的是完全兼容mysql,包括API和命令行,使之能轻松成为mysql的代替品。
2. 安装数据库

    yum install mariadb-server.x86_64  -y    安装数据库软件systemctl start mariadb                  开启数据库mysql                                    进入数据库  

在这里插入图片描述
在这里插入图片描述
3. mariadb的安全初始化
默认情况下,数据库的网络接口是打开的,为了安全需要要关闭此接口

    vim  /etc/my.cnf                        编辑配置数据库文件skip-networking=1                       关闭网络接口systemctl restart  mariadb              重启数据库netstat -antlupe | grep mysql           查看登陆数据库的接口

先查看登陆数据库的接口,发现有接口,然后再编辑文件关闭网络接口,重启数据库之后再次查看,
在这里插入图片描述
在这里插入图片描述
设定登陆密码:mysql_secure_installation

Enter current password for root (enter for none): 数据库原始密码(默认没有直接回车)
Set root password? [Y/n] 	              是否要设定数据库超级用户密码
New password: 			              输入要设定的超级用户密码
Re-enter new password: 		               重复输入
Remove anonymous users? [Y/n] 	              是否删除匿名用户访问权限
Disallow root login remotely? [Y/n] 	      是否禁止超级用户通过远程登陆
Remove test database and access to it? [Y/n]  刷新数据库
Reload privilege tables now? [Y/n] 	      允许下载表

里面所有的内容都选y,可以直接一直回车,只需中途输超级用户密码俩次就行
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4. 数据库的基本管理

mysql -uroot -p密码            -u表示指定登陆用户,-p 表示指定此用户密码
不建议-p后面直接跟密码,这样会泄露密码

在这里插入图片描述
2)数据库的查询:

     MariaDB [(none)]> SHOW DATABASES;   ##显示数据库MariaDB [(none)]> USE mysql     ##进入数据库MariaDB [mysql]> SHOW TABLES;   ##显示库的tableMariaDB [mysql]> DESC user;     ##查看user表的结构MariaDB [mysql]> SELECT Host,User  FROM user;  ##查看表的具体信息

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
5. 数据库的建立

  CREATE DATABASE westos;   ##建立westos数据库CREATE TABLE linux  )      ##建立以linux为格式的表-> usrname varchar(10) not null,-> password varchar(50) not null-> );DESC linux   ##查看创建该表的结构INSERT INTO linux VALUES ('zll','123');INSERT INTO linux VALUES ('zll1','westos');   ##给该中表中添加内容SELECT * FROM linux;    ##查看表中的内容

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

在这里插入图片描述
建立的数据库名称设定完就不会更改,否则可能会在数据的查询使用中出现问题,稳定性很低,生产环境中基本不用

6. 往数据库里添东西:

ALTER TABLE linux ADD class varchar(20)  AFTER username;   添加class在username的后面
UPDATE linux SET class='linux';       更新班级为linux
UPDATE linux SET class='java' WHERE usrename='zll';   更改zll的班级为java

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
7. 用户授权

  SELECT User FROM mysql.user;                       查看mysql用户CREATE USER zll@localhost identified by 'westos';  创建用户HAHA,密码为westosSHOW GRANTS FOR HAHA@localhost;                      查看用户HAHA权限

在这里插入图片描述
在这里插入图片描述
insert权限的添加
自己能给自己添加权限吗? 那肯定不行的啊,自己能给自己添加权限那还要root有毛用,

GRANT SELECT,INSERT on westos.* TO HAHA@localhost; 给HAHA用户在westos数据库中进行SELECT和INSERT的权限

在这里插入图片描述
收回权限:

REVOKE SELECT,INSERT on westos.* FROM HAHA@localhost  收回HAHA用户在westos数据库中进行SELECT和INSERT的权限

在这里插入图片描述
8. 用户删除:

      DROP USER HAHA@localhost     删除HAHA用户

在这里插入图片描述
9. 数据库的备份:

mysqldump -uroot -p --all-database  查看数据库所有内容
mysqldump -uroot -p westos      查看westos数据库的脚本文件
mysqldump -uroot -p WESTOS > /mnt/westos.sql 将WESTOS数据库备份再/mnt/westos.sql

在这里插入图片描述
备份好之后,就可以操作一波了,先删了吧

    DROP TABLE westos.linux;   删除表,但是数据库还在DROP DATABASE westos;      删除数据库

在这里插入图片描述

删了之后恢复
方法一:

     mysql -uroot -p -e "CREATE DATABASE westos;";   创建数据库mysql -uroot -p westos < /mnt/westos.sql    备份的数据库文件恢复

方法二:

     vim /mnt/westos.sql编辑内容为:21 CREATE DATABASE westos;22 USE westos;mysql -uroot -pwestos < /mnt/westos.sql

在这里插入图片描述
这是方法一
下面看下第二种方法:
先在文件中加点东西

在这里插入图片描述
在这里插入图片描述
恢复数据库的前提是数据库被删了,所以试的时候一定要把数据库删了。

10. 超级用户密码修改
超级用户密码的修改

     mysqladmin -uroot -pwestos password redhat     将密码westos改为redhat

当忘记超级用户密码;

  systemctl  stop mariadb                   ##关闭服务mysqld_safe --skip-grant-tables &			##开启mysql登陆接口并忽略授权表mysql							##直接不用密码可以登陆
update mysql.user set Password=password('westos') where User='root; 更新超级用户密码信息ps aux | grep mysql					##过滤mysql的所有进程并结束这些进程kill -9 mysqlpid
systemctl start mariadb					##重新开启mysqlmysql -uroot -pwestos					##登陆测试

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/542153.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#中的Dictionary字典类介绍(转载)

C#中的Dictionary字典类介绍 关键字&#xff1a;C# Dictionary 字典 作者&#xff1a;txw1958原文&#xff1a;http://www.cnblogs.com/txw1958/archive/2012/11/07/csharp-dictionary.html 说明 必须包含名空间System.Collection.Generic Dictionary里面的每一个元素都…

求阶乘的第一个非零数字_查找数字阶乘中的尾随零

求阶乘的第一个非零数字Problem statement: 问题陈述&#xff1a; Find the number of trailing zeros in n! (Where, n is the given input). 在n中找到尾随零的数目&#xff01; (其中&#xff0c; n是给定的输入)。 Solution: 解&#xff1a; Computing a factorial is o…

高速缓存dns

1. DNS&#xff1a; Domain Name System&#xff0c;域名系统。 万维网上作为域名和IP地址相互映射的一个分布式数据库&#xff0c;能够使用户更方便的访问互联网。他主要负责把域名和IP的相互转换&#xff0c;DNS运行与TCP|UDP的53端口上。 2. 高速缓存DNS&#xff1a;DNS服务…

python log日志级别_python – 日志记录:如何为处理程序设置最大日志级别

您可以向文件处理程序添加过滤器.这样,您可以将特定级别重定向到不同的文件.import loggingclass LevelFilter(logging.Filter):def __init__(self, low, high):self._low lowself._high highlogging.Filter.__init__(self)def filter(self, record):if self._low < recor…

Python Pandas –合并,联接和串联

There are three main ways to combine dataFrames i.e., merging, joining and concatenating. The following examples will illustrate merging, joining and concatenation. 组合dataFrames的主要方法有三种&#xff0c;即合并&#xff0c;联接和串联 。 以下示例将说明合并…

Apache服务配置

1. apache 企业中常用的web服务。用来提供http&#xff1a;//&#xff08;超文本传输协议&#xff09; 基础信息&#xff1a; 主配置目录&#xff1a; /etc/httpd/conf 主配置文件&#xff1a; /etc/httpd/conf/httpd.conf 子配置目录&#xff1a; /etc/httpd/conf.d/ 子配置文…

git 怎么查看合并过来哪些代码_git整理纷乱的历史合并记录

https://github.com/Epix37/Hearthstone-Deck-Tracker以上面版本库的master分支为例父节点1SHA-1: a21142968282ae49720cf30a0f18290b2ce74b3a* remove hotkey from config if action could not be found, fix hotkey menu item name父节点2SHA-1: 86a824e8f46005db91f334dfc57…

如何安装Genymotion虚拟机以及Genmotion的eclipse插件

---内容开始--- - 首先去genymotion的官网去下载其安装文件 资源下载 Genymotion官网必须注册一个账号这个账号安装之后还有用的&#xff0c;用户名最好用网易126邮箱注册----我下载的是2.8.0的版本(注&#xff1a;注册前先开个代理服务器不然页面打不开下载时最好用迅雷下载这…

java system类_Java System类mapLibraryName()方法及示例

java system类系统类mapLibraryName()方法 (System class mapLibraryName() method) mapLibraryName() method is available in java.lang package. mapLibraryName()方法在java.lang包中可用。 mapLibraryName() method is used to map a given library name into a platform-…

squid服务配置(正向、反向代理)

代理&#xff1a; 就是代理网络用户去取得网络信息。 Squid是一种用来缓冲Internet数据的软件。安装Squid服务实现代理缓存服务器功能。 正向代理&#xff1a;意思是一个位于客户端和原始服务器之间的服务器&#xff0c;为了从原始服务器取得内容&#xff0c;客户端向代理发送一…

家谱整站源码php_mysql家谱表查询某人所有后代

CREATE TABLE people (id INT(11) NOT NULL,name VARCHAR(50) NULL DEFAULT NULL,pid INT(11) NOT NULL DEFAULT 0,PRIMARY KEY (id));CREATE DEFINERroot% PROCEDURE getChildren(IN parentId INT)LANGUAGE SQLNOT DETERMINISTICCONTAINS SQLSQL SECURITY DEFINERCOMMENT 获取…

React 入门学习笔记2

摘自阮一峰&#xff1a;React入门实例教程&#xff0c;转载请注明出处。 一、获取真实的DOM节点 组件并不是真实的 DOM 节点&#xff0c;而是存在于内存之中的一种数据结构&#xff0c;叫做虚拟 DOM &#xff08;virtual DOM&#xff09;。只有当它插入文档以后&#xff0c;才会…

c语言getchar函数_C语言中带有示例的getchar()函数

c语言getchar函数C语言中的getchar()函数 (getchar() function in C) The getchar() function is defined in the <stdio.h> header file. getchar()函数在<stdio.h>头文件中定义。 Prototype: 原型&#xff1a; int getchar(void);Parameters: FILE *filename(f…

python及pycharm

1.python简介&#xff1a; Python是一种计算机程序设计语言。是一种动态的、面向对象的脚本语言&#xff0c;最初被设计用于编写自动化脚本(shell)&#xff0c;随着版本的不断更新和语言新功能的添加&#xff0c;越来越多被用于独立的、大型项目的开发。 python最重要的功能&am…

anaconda如何更改环境配置_手把手教新手安装Anaconda配置开发环境

Anaconda是针对Python的集成环境&#xff0c;它已经成为全球数千万数据科学从业人员必备的开发工具&#xff0c;帮助人们有效地解决数据科学和机器学习相关地问题。如果你想从事数据科学和机器学习的工作&#xff0c;可以从本文开始&#xff0c;了解一下如何安装Anaconda。1. 初…

详解摘要认证

1. 什么是摘要认证摘要认证与基础认证的工作原理很相似&#xff0c;用户先发出一个没有认证证书的请求&#xff0c;Web服务器回复一个带有WWW-Authenticate头的响应&#xff0c;指明访问所请求的资源需要证书。但是和基础认证发送以Base 64编码的用户名和密码不同&#xff0c;在…

Python的基础知识

1.注释&#xff1a; #单行注释ctrl / 批量注释&#xff0c;选中需要注释的所有行ctrl / 批量取消注释&#xff0c;选中已经被注释的所有行 块注释&#xff1a;上下各三个双引号的部分全部被注释 “”“ hello haha ”“”2.变量&#xff1a; 变量命名的规则&#xff1a; …

树莓派该文件名_树莓派:文本编辑器与文件

GNU nano是Unix系统下一款常用的文本编辑器&#xff0c;以简单易用著称。与之相比&#xff0c;功能更强大的Vi和Emacs编辑器&#xff0c;学习曲线比nano陡峭很多。由于nano对于一般的文本编辑来说已经足够&#xff0c;所以我想简单介绍一下&#xff0c;以便于更好入门。基本使用…

Java SimpleTimeZone setStartYear()方法与示例

SimpleTimeZone类setStartYear()方法 (SimpleTimeZone Class setStartYear() method) setStartYear() method is available in java.util package. setStartYear()方法在java.util包中可用。 setStartYear() method is used to set the DST (Daylight Savings Time) starting y…

报表在IBM AIX系统下resin部署

&#xfeff;&#xfeff;报表是用java开发的&#xff0c;具有良好的跨平台性。不仅可以应用在windows、linux、操作系统&#xff0c;还可以应用在AIX等等的unix操作系统。在各种操作系统上部署过程有一些差别。下面说一下在AIX操作系统的部署的步骤。 1. 首先&#xff0c;下载…