天天看點

linux之資料庫的安裝,使用及管理

資料庫

資料庫是IP行業的重中之重

1.定義:進階的excel表格軟體

2.知名的資料庫 oracle(不是開源的) mysql(開源) mariadb(mysql中一個分支)

 一.安裝資料庫

1.安裝資料庫軟體

yum install mariadb-server -y
           

2.開啟服務

systemctl start mariadb
           

3.安全初始化

不做安全初始化的話資料庫無密碼登陸不安全

mysql_secure_installation  ##安全初始化
           
linux之資料庫的安裝,使用及管理
linux之資料庫的安裝,使用及管理
linux之資料庫的安裝,使用及管理

3.登陸資料庫

mysql -uroot -p
           
linux之資料庫的安裝,使用及管理

4.關閉mysql資料庫網絡接口,因為開啟接口不安全,容易受到資料庫攻擊(攻擊指篡改資料庫内容)

netstat -antlupe | grep mysql  ##檢視資料庫端口是開啟的
vim /etc/my.cnf
10  skip-networking=1
systemctl restart mariadb
netstat -antlupe | grep mysql  ##檢視資料庫網絡接口關閉
           
linux之資料庫的安裝,使用及管理
linux之資料庫的安裝,使用及管理
linux之資料庫的安裝,使用及管理

二.資料庫的管理

1.登陸資料庫

mysql -uroot -p
           
linux之資料庫的安裝,使用及管理

2.列出庫

SHOW DATABASES;  	##列出庫
           
linux之資料庫的安裝,使用及管理

3.進入mysql庫

USE mysql;  		##進入mysql庫
           
linux之資料庫的安裝,使用及管理

4.顯示mysql資料庫中的表

SHOW TABLES;		##顯示表
           
linux之資料庫的安裝,使用及管理

5.在user表中查詢所有

SELECT * FROM user;
           
linux之資料庫的安裝,使用及管理

6.在user表中查詢指定的屬性

SELECT Host,User,Password FROM user;
           
linux之資料庫的安裝,使用及管理

三.建立資料庫和表

1.建立westos庫

mysql -uroot -p
CREATE DATABASE westos;			##建立庫
SHOW DATABASES
           
linux之資料庫的安裝,使用及管理

2.在westos庫中建立linux表

USE westos				##進入庫
CREATE TABLE linux(			##建立表
    -> username varchar(10) not null,
    -> password varchar(50) not null
    -> );
           
linux之資料庫的安裝,使用及管理

3.向westos表中添加内容

DESC linux;				##檢視表結構
INSERT INTO linux VALUES('tony','123');	##插入資料到linux表中
INSERT INTO linux VALUES('pake','123');	
SELECT * FROM linux;       		##檢視所有字段在linux表中
SELECT username,password from linux;	##查詢指定字段在linux表中
           
linux之資料庫的安裝,使用及管理
linux之資料庫的安裝,使用及管理

4.更改

UPDATE linux SET password=password('tony') where username='tony';   
##password=‘tony’更改的密碼會以明文的方式顯示,password=password('tony')以密文的方式顯示
           
linux之資料庫的安裝,使用及管理

四.管理資料庫的使用者

1.建立使用者

CREATE USER [email protected] identified by 'redhat';
建立使用者的名稱是tony,密碼是redhat
[email protected]表示tony使用者隻能本機登陸,test@'%':表示test可以從遠端登陸資料庫
           
linux之資料庫的安裝,使用及管理

2.檢視資料庫中的使用者

SELECT User FROM mysql.user;   ##檢視mysql中的使用者
           
linux之資料庫的安裝,使用及管理

3.使用者授權

GRANT INSERT,UPDATE on westos.* to [email protected];
           
linux之資料庫的安裝,使用及管理

4.顯示特定使用者對資料庫的權限

SHOW GRANTS FOR [email protected];
           
linux之資料庫的安裝,使用及管理

5.撤銷特定授權

REVOKE INSERT ON westos.* FROM [email protected];
           
linux之資料庫的安裝,使用及管理

6.重新加載授權表

FLUSH PRIVILEGES;
           
linux之資料庫的安裝,使用及管理

7.删除tony使用者

DROP USER [email protected]
           
linux之資料庫的安裝,使用及管理

五.資料庫的備份

1.備份資料庫到指定位置

mysqldump -uroot -pwestos westos > /mnt/westos.sql              ##将庫westos整個備份
mysqldump -uroot -pwestos westos  --no-data > /mnt/westos.sql 	##将westos庫的結構備份,不備份資料
           
linux之資料庫的安裝,使用及管理

2.備份所有資料庫

mysqldump -uroot -pwestos --all-database > /mnt/alldata.sql	##備份架構和内容
mysqldump -uroot -pwestos --all-database --no-data  > /mnt/alldata.sql	   ##隻備份架構,不備份内容
           

3.删除westos的資料庫

mysql -uroot -pwestos -e "DROP DATABASE westos;"  ##-e:參數後加動作:删除westos庫
           
linux之資料庫的安裝,使用及管理

4.資料庫的恢複

mysql -uroot -pwestos westos </mnt/westos.sql
由于資料庫中已經沒有westos資料庫,恢複的時候會遇到問題
           
linux之資料庫的安裝,使用及管理

恢複方式1

mysql -uroot -pwestos -e "CREATE DATABASE westos;"  ##先建立westos庫,再恢複資料
mysql -uroot -pwestos westos < /mnt/westos.sql      ##從備份的目錄中恢複
           
linux之資料庫的安裝,使用及管理
linux之資料庫的安裝,使用及管理

恢複方式2

vim /mnt/westos.sql  ##删除westos庫,直接在備份檔案中寫入建立資料庫指令
21行 CREATE DATABASE westos;
22行 USE westos;
mysql -uroot -pwestos < /mnt/westos.sql             ##從備份的目錄中恢複
           
linux之資料庫的安裝,使用及管理
linux之資料庫的安裝,使用及管理
linux之資料庫的安裝,使用及管理

六.資料庫密碼忘記

1.關閉資料庫

systemctl stop mariadb
           

2.跳過系統資料庫直接登陸資料庫,把他打入背景

mysqld_safe --skip-grant-table &
           

3.不需要密碼登陸資料庫

mysql
           
linux之資料庫的安裝,使用及管理

4.修改資料庫root密碼

UPDATE mysql.user SET Password='123' WHERE User='root'; 	##密碼明文顯示,不安全
UPDATE mysql.user SET Password=password('123') WHERE User='root';	##密碼密文顯示
           
linux之資料庫的安裝,使用及管理
linux之資料庫的安裝,使用及管理

5.結束掉mysql的所有程序,保留grep程序,這是此條指令的程序

ps aux | grep mysql 
kill -9 mysql的所有程序id
           
linux之資料庫的安裝,使用及管理

6.打開資料庫

systemctl start mariadb
           
linux之資料庫的安裝,使用及管理

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

1.下載下傳phpMyAdmin-2.11.3-all-languages
2.yum install php php-mysql -y
           

3.

yum install httpd
systemctl restart httpd
           

4.

phpMyAdmin-2.11.3-all-languages.tar.bz2 -------- >/var/www/html
tar jxf phpMyAdmin-2.11.3-all-languages.tar.bz2  ##解壓
           

5.

5.mv phpMyAdmin-2.11.3-all-languages/ mysqladmin
           
linux之資料庫的安裝,使用及管理
6.cd mysqladmin
7.cp config.sample.inc.php config.inc.php
           
linux之資料庫的安裝,使用及管理
8.vim config.inc.php
$cfg['blowfish_secret'] = 'ba17c1ec07d65003';
less Documentation.txt  ##上邊這個$cfg['blowfish_secret']
           
linux之資料庫的安裝,使用及管理
linux之資料庫的安裝,使用及管理
9.systemctl restart httpd.service  ##重新開機http
           

測試:

http://172.25.254.147/mysqladmin

如果還不行清除緩存

linux之資料庫的安裝,使用及管理
linux之資料庫的安裝,使用及管理
linux之資料庫的安裝,使用及管理
linux之資料庫的安裝,使用及管理
linux之資料庫的安裝,使用及管理

 用指令方式檢視是否建立成功:

linux之資料庫的安裝,使用及管理
linux之資料庫的安裝,使用及管理

使用圖形與使用指令的結果是相同的。

繼續閱讀