標籤:認證 stat mnt table 一個資料庫 ant maria .net 基本
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 [email protected] identified by ‘redhat‘;"。表示建立一個使用者,這個使用者只可以從本機登陸,登陸密碼為"redhat"。如果將其中的"[email protected]"改為"[email protected]‘%‘",就代表可以從任何地方登陸。
建立成功之後輸入"select * from mysql.user where User=‘we‘",就可以看到建立的這個使用者資訊。
這個使用者建立完成後沒有進行授權,雖然可以登陸,但是看不到也修改不了資料庫中的任何資料。
"grant select on hello.* to [email protected];",表示將"hello"資料庫中的查看許可權授權給"we"使用者。
"show grants for [email protected];",可以查看指定使用者的授權列表,如下所示,"we"使用者有在"hello"資料庫中的查看權力。如果授權了但是查看不到,輸入"flush privileges;"可以重新載入授權表。
授權過後的"we"使用者重新登陸資料庫就可以看到"hello"資料庫中的資料了。還可以授予"insert"、"update"、"delete"和"drop"等權力,只有授予過的權力可以使用。
"revoke select on hello.* from [email protected];",表示撤銷使用者"we"的查看權力。
"drop user [email protected];",表示刪除"we"使用者,刪除後再次輸入"select * from mysql.user where User=‘we‘"就看不到這個使用者的資訊了。
linux初學者-資料庫管理MariaDB篇