1. 程式人生 > >linux初學者-數據庫管理MariaDB篇

linux初學者-數據庫管理MariaDB篇

兩個 數據庫管理系統 一個數 ets sin 一個表 重啟 data 用戶

linux初學者-數據庫管理MariaDB篇

MariaDB是一種數據庫管理系統,是MySQL的一個分支,但是比MySQL更加優秀,可以說是MySQL的替代品。MariaDB使用的是SQL語句。下文將會對MariaDB的安裝,設置,一些基本的SQL語句進行簡要的概述。

1、安裝

在有yum源的前提下,輸入"yum install mariadb-server.x86_64 -y"可以安裝MariaDB數據庫,不同的系統可能有不同的版本。

2、安全設置

因為MariaDB是一個數據庫管理系統,所以安全是必須的,最基本的安全設置有以下兩個步驟。

第一個步驟,輸入"netstat -antple | grep mysql"查看網絡端口是否打開,如下圖所示,是打開的。編輯配置文件"/etc/ym.cnf",在下圖位置輸入"skip-networking=1"來關閉端口,重啟服務後再查看,網絡端口關閉。

技術分享圖片技術分享圖片

第二個步驟,輸入"mysql_secure_installation"來設置root用戶的登陸密碼,如下圖所示,輸入兩次密碼後,系統會詢問一些問題,為了安全考慮,建議全部選擇"Y"。技術分享圖片技術分享圖片

上述兩個步驟完成後,系統的網絡端口關閉,且root用戶需要輸入密碼才能登陸數據庫。

技術分享圖片

3、數據庫的使用

前以敘述,MariaDB是數據庫的管理系統,且使用的是SQL語句,下面將敘述在數據庫的使用中常用的SQL語句,一般規範的SQL語句是需要大寫的,但小寫也可以使用。在這裏為了方便,不作區分。

3.1、數據庫的查詢

"show datebases;",顯示數據庫。

技術分享圖片

"use mysql;",進入一個數據。

技術分享圖片

"show tables;",顯示數據庫裏的表格。

技術分享圖片

"desc user;",查看一個表格名為"user"的信息。

技術分享圖片

"select * from user;",查看這個名為"user"的表格的所有內容。

技術分享圖片

"select * from user where Host=‘127.0.0.1‘;",查看這個名為"user"的表格中"Host"是"127.0.0.1"的部分。

技術分享圖片

"select Host,Process_priv from user",從"user"表格中查看"Host"和"Process_priv"兩個字段。

技術分享圖片

3.2、數據庫中的創建

"create database hello;",創建一個名為hello的數據庫。

技術分享圖片

"create table userinf(*);",進入hello數據庫中後,創建一個名為"userinf"的表格,如下圖所示,表格的格式和內容可以自己編寫。

技術分享圖片

"insert into userinf values (‘tom‘,‘111‘,‘20‘);",在這個"userinf"表格中插入值,如下圖所示,可以為空的表格中插入值可以不寫入值,但必須有格式,例如下圖。

技術分享圖片

3.3、數據庫中的修改

目前數據庫的名稱是無法更改的,只能先對該數據庫的數據進行備份,然後重新建立新的數據庫,將數據導入進去。

"alter table userinf rename information;",將表格"userinf"的名稱改為"information"。

技術分享圖片

"alter table userinf add class varchar(50);",在表格"userinf"的最後添加一列"class"。

技術分享圖片

"alter table userinf drop class;",刪除表格"userinf"的"class"列。

技術分享圖片

"alter table userinf add class varchar(50) after username;",在表格"userinf"中的"username"列後添加"class"列。

技術分享圖片

"update userinf set class=‘3‘;",將表格"userinf"中"class"列的數據全部改為"3"。

技術分享圖片

"pdate userinf set class=‘1‘ where username=‘tom‘;",將表格"userinf"中"username"是"tom"的行的"class"改為"1"。

技術分享圖片

3.4、數據庫中的刪除

"delete from userinf where username=‘tom‘ and class=‘1‘;",刪除"userinf"文件中"username"是"tom"且"class"是"1"的行。

技術分享圖片

"drop table userinf;",刪除表格"userinf"。

技術分享圖片

"drop database hello;",刪除數據庫"hello"。

技術分享圖片

4、數據庫的備份與恢復

在數據庫的管理過程中,經常需要數據庫的備份。

"mysqldump -uroot -predhat WE > /mnt/WE.sql",可以對"WE"的數據庫進行備份,將備份文件存在/mnt/WE.sql文件中。

技術分享圖片技術分享圖片

如下圖所示,如果不小心刪除了數據庫"WE",那麽就需要通過這個備份來恢復了。

技術分享圖片

恢復備份時,先輸入"mysql -uroot -predhat -e "create database WE;",來新建一個數據庫"WE",或者其他名稱也可以,也可以使用命令"create database WE;"在數據庫內建立。

輸入"mysql -uroot -predhat WE < /mnt/WE.sql",就可以將原WE數據庫中的數據導入到新的數據庫中了。

技術分享圖片技術分享圖片

5、忘記root用戶密碼

在數據庫的管理中,如果忘記了root用戶的密碼就要對其重新進行設置,設置步驟如下所示:

a、"systemctl stop mariadb"。停止MariaDB。

b、"mysqld_safe --skip-grant-tables &"。啟動安全模式,且跳過認證標。

技術分享圖片

c、"mysqld"。不需要密碼可以直接進入數據庫,輸入"use mysql"進入mysql數據庫。

技術分享圖片

d、"update user set Password=password(‘redhat‘) where User=‘root‘;"。修改"user"表中"root"用戶的密碼信息,"Password=password(‘redhat‘)"表示密碼設為"redhat",前面的"password"表示對"redhat"進行加密。

技術分享圖片

e、"ps ax | grep mysql","kill -9 PID"。強行結束掉"mysql"的所有進程。

技術分享圖片

上述步驟完成後重新開啟MariaDB,然後就可以輸入就改後的密碼登陸數據庫了。

技術分享圖片

6、設置用戶和訪問權限

MariaDB的使用中,有時需要添加一些其他用戶,使這些用戶可以登陸,並且在數據庫中擁有一定的權限。其具體做法如下所示。

"create user we@localhost identified by ‘redhat‘;"。表示創建一個用戶,這個用戶只可以從本機登陸,登陸密碼為"redhat"。如果將其中的"we@localhost"改為"we@‘%‘",就代表可以從任何地方登陸。

創建成功之後輸入"select * from mysql.user where User=‘we‘",就可以看到創建的這個用戶信息。

技術分享圖片技術分享圖片

這個用戶創建完成後沒有進行授權,雖然可以登陸,但是看不到也修改不了數據庫中的任何數據。

技術分享圖片

"grant select on hello.* to we@localhost;",表示將"hello"數據庫中的查看權限授權給"we"用戶。

"show grants for we@localhost;",可以查看指定用戶的授權列表,如下所示,"we"用戶有在"hello"數據庫中的查看權力。如果授權了但是查看不到,輸入"flush privileges;"可以重新加載授權表。

技術分享圖片

授權過後的"we"用戶重新登陸數據庫就可以看到"hello"數據庫中的數據了。還可以授予"insert"、"update"、"delete"和"drop"等權力,只有授予過的權力可以使用。

技術分享圖片技術分享圖片

"revoke select on hello.* from we@localhost;",表示撤銷用戶"we"的查看權力。

技術分享圖片

"drop user we@localhost;",表示刪除"we"用戶,刪除後再次輸入"select * from mysql.user where User=‘we‘"就看不到這個用戶的信息了。

技術分享圖片技術分享圖片

linux初學者-數據庫管理MariaDB篇