數據庫的管理

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.pswp.cn/news/542153.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/542153.shtml
英文地址,請注明出處:http://en.pswp.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;下載…