Centos7/RHEL7安裝MariaDB

對於使用RHEL7的人來說幾乎都知道紅帽和centos系統的關係,centos是RHEL的免費版本,就是將RHEL系統中收費的軟件以及紅帽的商標抽離出來,再重新編譯一個船新版本,所以我們是不會在centos7的yum倉庫中安裝到要收費的軟件,可能對於一些小企業或者個人以及學校機構來說這無關大雅,但是如果是一個大企業或者大商業公司來說,在公司的系統中安裝一些盜版軟件或者收費軟件而沒有付費使用,分分鐘就是律師涵警告(別問我是怎麼知道的,有些人親身經歷,有些人親眼目睹),所以現在安裝系統或者軟件我都是首選開源和免費的,安裝RHEL的同學如果沒有購買服務你會發現yum源用不了,不像centos一樣系統安裝完成後配置好網絡直接yum安裝所需的開發環境,對於想要用RHEL的帥氣,又不想浪費時間更改yum源,更不想花一分錢購買服務而只是單純學習這個系統的人來說其實也是有辦法的,這要從我們的安裝鏡像下手,linux是一個小巧而精緻的系統,但是iso文件卻和windows那麼大,估計大家都發現玄機了,其實安裝光盤或鏡像中包含了大部分我們日常使用的軟件,例如apache,ftp,tftp,mariadb等。但是想要使用這些資源就得學會掛載光盤和配置yum源,步驟我就不重複了,我有寫過博客。

RHEL7掛載光盤:https://blog.csdn.net/zZzZzZ__/article/details/102906385

RHEL7配置yum源:https://blog.csdn.net/zZzZzZ__/article/details/96496407

既然是講解數據庫管理技術,就肯定繞不開MySQL。MySQL是一款市場佔有率非常高的數據庫管理系統,技術成熟、配置步驟相對簡單,而且具有良好的可擴展性。但是,由於Oracle公司在2009年收購了MySQL的母公司Sun,因此MySQL數據庫項目也隨之納入Oracle麾下,逐步演變爲保持着開源軟件的身份,但又申請了多項商業專利的軟件系統。開源軟件是全球黑客、極客、程序員等技術高手在開源社區的大旗下的公共智慧結晶,自己的勞動成果被其他公司商業化自然也傷了一大批開源工作者的心,因此由MySQL項目創始者重新研發了一款名爲MariaDB的全新數據庫管理系統。該軟件當前由開源社區進行維護,是MySQL的分支產品,而且幾乎完全兼容MySQL。

與此同時,由於各大公司之間存在着競爭關係或利益關係,外加MySQL在被收購之後逐漸由開源向閉源軟件轉變,很多公司拋棄了MySQL。當前,谷歌、維基百科等技術領域決定將MySQL數據庫上的業務轉移到MariaDB數據庫,Linux開源系統的領袖紅帽公司也決定在RHEL 7、CentOS 7以及最新的Fedora系統中,將MariaDB作爲默認的數據庫管理系統,而且紅帽公司更是首次將數據庫知識加入到了RHCE認證的考試內容中。隨後,還有數十個常見的Linux系統(如openSUSE、Slackware等)也作出了同樣的表態——引自《linux就該這樣學》 

 對MariaDB有了初步瞭解後我們開始在RHEL7系統上安裝MariaDB數據,安裝過程非常簡單,只需要一條命令就搞定。

sudo yum install mariadb mariadb-server -y 

安裝完成之後我們需要對數據庫進行配置,在配置之前需要啓動數據庫服務,最好也將其加入開機啓動項。

sudo systemctl start mariadb #啓動數據庫
sudo systemctl enable mariadb #加入開機啓動項

mysql_secure_installation #配置數據庫

在終端輸入 mysql_secure_installation,接着就可以在交互界面中進行數據庫的一些基本配置了 

Enter current password for root (enter for none): 輸入當前數據庫的root密,其實我們可以多次輸入mysql_secure_installation這條命令來進行數據庫的設置,因爲我們剛裝好數據庫,是第一次配置,所以root密碼我們是沒有設置的,所以爲空,根據括號中的提示,按回車鍵輸入空密碼,我們直接按回車鍵。

Set root password? [Y/n] 是否設置root密碼,輸入n表示不設置,輸入y表示設置,我們輸入y設置一個root密碼,接着輸入兩次密碼。

Remove anonymous users? [Y/n] 是否刪除匿名用戶,我們選擇y刪除,爲了安全儘量刪除一些沒有用的東西,提高數據庫安全性

Disallow root login remotely? [Y/n] 是否禁止root用戶遠程登陸,意思就是從其他電腦通過遠程登陸到本地數據庫,如果是生產環境這個選項就選擇y,禁止,這樣一來我們就只能通過在本機使用root用戶登陸到數據庫,其他電腦只能通過非root賬戶訪問數據庫,自己用來學習玩的話無所謂隨便選一個,我選y,反正也不會有人來黑我。

Remove test database and access to it? [Y/n] 是否刪除測試數據庫,每次安裝完數據庫都會伴隨着一些測試數據庫的創建,一般選擇刪除,留着也沒啥用。

Reload privilege tables now? [Y/n] 是否立即加載特權表,這裏選擇y,使所有配置生效,數據庫配置完畢!

登陸數據庫,我設置的密碼是123456,登陸命令爲mysql -u用戶名 -p密碼。

mysql -uroot -p123456

 有沒有發現似曾相識,我們用的是mariadb,然而登陸和mysql沒有任何差別,甚至接下來的命令也是mysql的命令,絲毫沒有差別,只是數據庫名由mysql變成了mariadb,有沒有想起RHEL系統由收費變成了centos系統免費,開源社區的危機意識很強。

創建數據庫mydata和查看數據庫

CREATE DATABASE mydata; #創建數據庫mydata
SHOW DATABASES; #查看數據庫

use mydata; #選擇數據庫
SHOW TABLES; #查看數據庫中的表

  • 增 
CREATE TABLE books (bookname char(15), price int, pages int); #建表
DESCRIBE books; #查看錶結構
INSERT INTO books(bookname,price,pages) VALUES('linux',59,9999); #向表中插入一條數據(增)

  • 查 
SELECT * FROM books; #查看錶中所有數據(查)
SELECT bookname,price FROM books; #查看錶中字段爲bookname和price的數據(查)

UPDATE books SET price=60 WHERE bookname='linux'; #改動一條數據
UPDATE books SET pages=60; #改動所有pages數據

DELETE FROM books WHERE bookname='python'; #刪除一條數據
DELETE FROM books; #刪除表中所有數據

  •  數據庫備份
mysqldump -u root -p mydata > /home/none/mydata.dump #-p後面接數據庫名稱而不是數據庫密碼,回車後會提示輸入密碼

  • 數據庫還原

首先要登陸數據庫,然後創建一個和要還原的數據庫同名的數據庫,然後才能執行恢復命令 

mysqldump -u root -p mydata < /home/none/mydata.dump #恢復數據庫

數據庫插入中文顯示亂碼

 修改/etc/my.cnf.d/server.cnf文件找到[mysqld]字段,添加兩行代碼。然後重啓mariadb,修改配置文件最好是在創建數據庫之前或者創建數據表之前修改,如果向數據表中插入了中文然後出現亂碼,然後再修改配置文件再向數據表中插入中文,那麼修改配置文件之後插入的中文不會亂碼,但是修改之前的亂碼不會改變,還是亂碼,只有刪除之後再重新插入纔不會亂碼。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章