linux初學者-資料庫管理MariaDB篇

來源:互聯網
上載者:User

標籤:認證   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篇

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.