1. 程式人生 > >Linux 基礎知識 之 MySQL資料庫

Linux 基礎知識 之 MySQL資料庫

一、mysql資料庫簡介

MySQL是一種開放原始碼的關係型資料庫管理系統(RDBMS),使用最常用的資料庫管理語言--結構化查詢語言(SQL)進行資料庫管理。

MySQL是開放原始碼的,因此任何人都可以在General Public License的許可下下載並根據個性化的需要對其進行修改。

MySQL因為其速度、可靠性和適應性而備受關注。大多數人都認為在不需要事務化處理的情況下,MySQL是管理內容最好的選擇。

資料庫是一個高階的excel表格軟體。

二、搭建資料庫環境


1.安裝資料庫軟體yum install mariadb-server -y


2.systemctl start mariadb  開啟資料庫軟體

開啟軟體之後可以進入資料庫列出庫
編輯mysql -uroot

3.安全初始化的配置

mysql_secure_installation 進行系統初始化

  • 初始化的myaql資料庫管理員並沒有任何密碼,按回車進行下一步
  • 設定root使用者的密碼
  • 為了安全剩下的都選y

4.檢視資料庫在網路中對外的介面

編輯netstat -antlupe | grep mysql
 
編輯配置檔案關閉介面vim /etc/my.cnf


寫入skip-networking=1


重新啟動服務 systemctl restart mariadb


netstat -antlupe | grep mysql檢視網路介面(介面關閉)

5.使用者登陸

 

三、資料庫的管理

mysql -uroot -p 該命令進入
1.SHOW DATABASES; 列出資料庫

2.CREATE DATABASE westos; 自己建立庫(westos)


3.USE westos;  進入westos庫
4.SHOW TABLES;    查看錶

5.建立linux表

CREATE TABLE linux (
    -> username varchar(10) not null,
    -> password varchar(50) not null
    -> );

6.DESC linux;   查看錶結構

7.插入資料到linux表中,並查詢在linux表中的所有欄位

INSERT INTO linux VALUES ('lee','123');插入資料到linux表中

SELECT * FROM linux; 查詢所有欄位在linux表中

INSERT INTO linux VALUES ('westos','123');
SELECT * FROM linux;

8.查詢linux表中username欄位

9.列出表SHOW TABLES;

10.修改表的名字ALTER TABLE linux RENAME userdate;

ALTER TABLE userdate RENAME linux;  將表的名字改為linux

11.SELECT * FROM linux;檢視linux表



12.將age屬性新增到linux表的最後ALTER TABLE linux ADD age varchar(4);

13.刪除表中的age屬性ALTER TABLE linux DROP age;

14.將age屬性新增到指定位置(username後面)

ALTER TABLE linux ADD age varchar(4) AFTER username;

15.修改表中age屬性的值(全部修改)

UPDATE linux SET age='20';

16.修改表中滿足條件的屬性值

UPDATE linux SET age='18'WHERE username='westos' ;

17.刪除資料列表及庫

刪除表中滿足條件的某一行

DELETE FROM linux WHERE username='westos';

刪除表DROP TABLE linux;

刪除庫

四、使用者授權

1.建立一個庫,用於後續測試CREATE DATABASE westos;

2.建立資料庫使用者lee ,登陸密碼lee,並檢視資料庫中的所有使用者

SELECT User,Host FROM mysql.user;

CREATE USER [email protected] identified by 'lee';

3.用建立的資料庫使用者登入(此時沒有庫資訊)

4.顯示某個使用者對資料庫所有的許可權(這裡指lee使用者)

SHOW GRANTS FOR [email protected];

5.對某個使用者授予固定的許可權GRANT SELECT on westos.* TO [email protected];

測試:可以看到westos庫

進入庫後不能建立表

6.對lee使用者新增建立表的許可權GRANT CREATE on westos.* TO [email protected];

測試:建立表

7. 對lee使用者新增刪除表資訊的許可權GRANT DELETE on westos.* TO [email protected];

8.對lee使用者新增刪除表的許可權GRANT DROP on westos.* TO [email protected];

清除授權

撤銷使用者的固定許可權
REVOKE DELETE on westos.* FROM [email protected];

lee使用者沒有刪除表資訊的許可權

清除使用者

DROP USER [email protected];

五、資料庫的備份與恢復

1.備份所有資料庫(包括框架和內容)
[[email protected] ~]# mysqldump -uroot -pwestos --all-databases > /westos/alldate.sql

2.備份框架
[[email protected] ~]# mysqldump -uroot -pwestos --all-databases --no-data > /westos/allshuju.sql

3.備份指定資料庫到指定位置
[[email protected] ~]# mysqldump -uroot -pwestos westos > /westos/westos.sql

恢復:

刪除資料庫
[[email protected] ~]# mysql -uroot -pwestos -e "DROP DATABASE westos;"
[[email protected] ~]# mysql -uroot -pwestos -e "SHOW DATABASES;"  檢視 westos庫不存在

因為資料庫中已經沒有westos這個資料庫了,所以恢復的時候會報錯
mysql -uroot -pwestos westos < /westos/westos.sql

方法一:先建立一個庫再恢復

方法二:

編輯vim /westos/westos.sql

寫入CREATE DATABASE westos;
USE westos;

[[email protected] ~]# mysql -uroot -pwestos < /westos/westos.sql
[[email protected] ~]# mysql -uroot -pwestos -e "SHOW DATABASES;"

六、資料庫密碼管理

更改資料庫密碼(密碼知道)

[[email protected] ~]# mysqladmin -uroot -pwestos password lee


當密碼忘記時:

1.systemctl stop mariadb 關閉資料庫

2.mysqld_safe --skip-grant-tables & 跳過授權表直接登陸資料庫並打入後臺

3.編輯mysql 不用密碼就可以登陸資料庫

4.SELECT User,Password FROM mysql.user;檢視使用者及密碼資訊

5.修改資料庫超級使用者密碼,密碼是以密文顯示

6.檢視mysql的所有程序,並結束掉
執行ps aux | grep mysql 檢視 

7.開啟資料庫

8.密碼修改成功(用因密碼登陸)

七、安裝phpmyadmin 資料庫圖形管理

在虛擬機器server中進行(我的資料庫主機)
1.[[email protected] ~]# yum install httpd -y安裝http


[[email protected] ~]# cd /var/www/html
[[email protected] html]# systemctl start httpd 開啟服務

在網頁上測試:

2.下載適合自己主機版本的phpMyAdmin

這裡已經從老師主機下載好了,傳輸到測試端的/var/www/html目錄下


[[email protected] html]# tar jxf phpMyAdmin-2.11.3-all-languages.tar.bz2 解壓

[[email protected] html]# mv phpMyAdmin-2.11.3-all-languages/ mysqladmin 給解壓的檔案重新命名

3.[[email protected] html]# yum install php php-mysql -y 安裝php 和 php-mysql 軟體


4.進入mysqladmin目錄下,根據模板,建立config.inc.php

[[email protected] html]# cd mysqladmin/ 
[[email protected] mysqladmin]# cp config.sample.inc.php config.inc.php


[[email protected] mysqladmin]# less Documentation.txt  檢視

[[email protected] mysqladmin]# vim config.inc.php 編輯該檔案

[[email protected] mysqladmin]# systemctl restart httpd重新啟動httpd 服務

測試:
在真機網頁編輯
http://172.25.254.103/mysqladmin
進入資料庫圖形管理介面

有時候介面出不來是因為快取的原因
清除快取的方法:ctrl+shift+delete

以root使用者身份輸入密碼登入資料庫

建立資料庫

在資料庫中新建表

在表中新增屬性

插入相應的屬性值

驗證: