當前位置:
首頁 > 知識 > 資料庫之資料庫的部署與管理

資料庫之資料庫的部署與管理

資料庫是用來存放數據表格的

1.資料庫的安全初始化

<1>yum install mariadb-server -y #下載資料庫軟體

<2>systemctl start mariadb

<3>systemctl stop firewalld

<4>mysql #可以進行免密登陸,此時所有的客戶端都可以登陸

<5>netstsat -antlpe | grep mysql #查看mysql的狀態,對外開放

<6>vim /etc/my.cnf

skip-networking=1 #開啟跳過網路介面功能即關閉mysql的網路介面

<7>systemctl restart mariadb #修改完配置文件之後必須重啟服務才生效

<8>netstsat -antlpe | grep mysql #再次查看埠,已經關閉,此時只有本地用戶可以登陸

<9>mysql #本地用戶免密登陸,這樣不安全

<10>mysql_secure_installation #設置資料庫安全初始化腳本,使超級用戶用密碼登陸,以及限制其他用戶登陸

<11>mysql -uroot -p #超級用戶用密碼登陸

2.查看資料庫

mysql -uroot -p #登陸上去後執行以下命令

<1>SHOW DATABASES; #顯示所有資料庫(相當於ls)

<2>USE mysql; #切換到mysql資料庫中(相當於cd)

<3>SHOW tables; #顯示資料庫中所有的表格(相當於ls)

<4>SELECT User,Host,Password,Select_priv FROM user Where User="root"; #從root用戶的User中查詢

<5>SELECT User,Host,Password,Select_priv FROM user Where User="root" AND host="localhost"; #查詢user表的數據結構

<6> DESC user; #查看user表中的欄位

3.資料庫的新建

<1>CREATE DATABASE westos #創建資料庫westos

<2>SHOW DATABASES; #查看westos是否成功創建

<3>USE westos;

<4>SHOW TABLES; #查看westos中的表格

Empty set (0.00 sec) #表格為空

<5>CREATE TABLE linux(

-> username varchar(6) not null,

-> password varchar(10) not null);#新建資料庫westos中的表格linux

Query OK, 0 rows affected (0.43 sec)

<5>SHOW TABLES; #查看新建的表格

<5>DESC linux;

<6>INSERT INTO linux values ("wang","111"); #在linux表格中插入信息

<7> INSERT INTO linux values ("ting","222");

<8>SELECT * FROM linux; #查看linux表格中的所有信息

4.資料庫表的數據的更改:

<1>ALTER TABLE linux RENAME messages; #把表格的名字linux改為messages

<2>SHOW TABLES;

<3>ALTER TABLE messages ADD age varchar(10); #在表格中添加age

Query OK, 2 rows affected (0.41 sec)

Records: 2 Duplicates: 0 Warnings: 0

<4>DESC messages;

<5> ALTER TABLE messages DROP age; #刪除age

<6>DESC messages;

<7> ALTER TABLE messages ADD age varchar(10) AFTER username; #有順序的添加age

Query OK, 2 rows affected (0.42 sec)

Records: 2 Duplicates: 0 Warnings: 0

<8> DESC messages;

<9> UPDATE messages SET password="123" WHERE username="wang"; #更改用戶wang的密碼為123

Query OK, 1 row affected (0.04 sec)

Rows matched: 1 Changed: 1 Warnings: 0

<10>SELECT * FROM messages;

<11> DELETE from messages WHERE username="wang";#刪除表格中的wang用戶

<12> DROP TABLE messages; #刪除表格

<13> DROP DATABASE westos; #刪除資料庫

5.用網頁管理資料庫(比上述方法更方便)

<1>yum install httpd php -y #安裝網頁管理資料庫需要的服務

<2>systemctl start httpd #開啟服務

<3>systemctl stop firewalld #關閉防火牆

<4>cd /var/www/html/

<5>ls #有此安裝包,就直接進行解壓,沒有此安裝包,就先獲取安裝包

<6>tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2 #解壓bz2的安裝包

<7>ls #查看是否成功解壓

<8>mv phpMyAdmin-3.4.0-all-languages/ mysqladmin #改名字

<9>打開瀏覽器輸入: 172.25.254.138/mysqladmin/ #此時會報錯,因為沒有mysql功能

<10>yum install php-mysql.x86_64 -y #在php中添加mysql功能

<11>systemctl restart httpd

<12>再次打開瀏覽器輸入: 172.25.254.138/mysqladmin/ #可以訪問

6.用戶授權

mysql -uroot -p #登陸

先創建用戶:

<1>CREATE user lala@localhost identified by "111"; #創建密碼為111的本地用戶lala,只在本地可以登陸,localhost表示本地

<2>CREATE user helen@"%" identified by "222";#創建密碼為222的遠程用戶,都可以登陸,"%"表示遠程

<3>SELECT user from mysql.user; #查看建立的用戶

開始授權:

<1>GRANT UPDATE,SELECT,INSERT on westos.* to lala@localhost;

#給本地用戶授權,該用戶可以對westos資料庫進行編輯,插入,更新

<2>GRANT SELECT on westos.* to helen@"%"; #給遠程用戶授權

<3>SHOW GRANTS for lala@localhost; #查看許可權

<4>SHOW GRANTS for helen@"%";

<5>REVOKE INSERT on westos.* FROM lala@localhost; #撤銷用戶許可權

<6>FLUSH privileges #重載授權表

打開瀏覽器開始測試:

<7>授權之前,查看不到westos

<8>授權之後,可以查看到westos

<9>更改信息

7.用戶密碼更改

mysqladmin -uroot -pwestos password "redhat" #直接修改密碼

若普通用戶密碼忘記,可以通過root用戶更改密碼,若root用戶密碼忘記,執行以下操作

<1>systemctl stop mariadb

<2>mysqld_safe --skip-grant-tables &

<3>

<4>mysql #進入資料庫修改

<5>UPDATE mysql.user set Password="westos" where User="root"; #此方法時用明文修改密碼

<6> SELECT * FROM mysql.user; #查看密碼

<7>UPDATE mysql.user set Password=password("westos") where User="root"; ##此方法修改密碼是加密的

<8> SELECT * FROM mysql.user;

<9>quit #退出資料庫

<10>ps aux | grep mysql #查看mysql相關進程,全部關閉

<11>killall -9 mysqld_safe #關閉mysqld_safe進程

<12>kill -9 3785 #關閉myaql進程

<13>systemctl restart mariadb.service #重啟服務

<14>mysql -uroot -p #用修改後的密碼重新登陸

8.資料庫資料備份和恢復

quit #退出資料庫

<1>mysqldump -uroot -pwestos --all-database > /mnt/westos.all ##備份所有資料庫數據

mysqldump -uroot -pwestos --all-database --no-data > /mnt/westos.err #只備份數據結構,不備份數據

mysqldump -uroot -pwestos westos > /mnt/westos.sql #指定westos資料庫的資料備份

<2>ls /mnt/

<3> mysql -uroot -pwestos -e "drop database westos;" #模擬資料庫丟失

<4> mysql -uroot -pwestos -e "show databases;" #查看是否成功丟失

<5>mysql -uroot -pwestos westos < /mnt/westos.sql #恢復丟失的資料庫,但此時會報錯

如何解決此問題

方法一:

<5>vim /mnt/westos.sql #編輯備份文件

<6>mysql -uroot -pwestos < /mnt/westos.sql #此時就可以成功恢復了

方法二:

用第二種方法時候將第一種方法文件中填寫的內容刪除

mysql -uroot -pwestos -e "drop database westos;" #模擬丟失

<7>mysql -uroot -pwestos -e "CREATE DATABASE westos;" #創建

<8>mysql -uroot -pwestos westos < /mnt/westos.sql #恢復

<9>mysql -uroot -pwestos -e "show databases;" #查看是否恢復

資料庫之資料庫的部署與管理

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

druid 的基礎架構與應用
TypeScript基礎之高級類型的可辨識聯合(Discriminated Unions)

TAG:程序員小新人學習 |