linux初學者-數據庫管理MariaDB篇
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篇