Linux中mariadb資料庫的管理
資料庫(Database)是按照資料結構來組織、儲存和管理資料的建立在計算機儲存裝置上的倉庫。常見的資料庫有MySQL、SQL Server、Oracle、Sybase、DB2。MariaDB資料庫管理系統是MySQL的一個分支。
檔案————> 一張表 多個表格(檔案)————>資料庫 多個數據庫——————————>資料庫軟體 一、資料庫的安裝 (安裝>>安全初始化>>關3306介面) [[email protected] mnt]# yum search mariadb ###查詢與mariadb有關軟體包
[[email protected] mnt]# systemctl start mariadb ###啟動服務
[[email protected] mnt]# vim /etc/my.cnf --->>>10 skip-networking=1 ###封閉埠;只允許本地連線,阻斷所有來自網路連線 [[email protected] mnt]# systemctl restart mariadb.service ###重啟服務; 此時埠已關閉
MariaDB [(none)]> USE mysql; ###進入某個資料庫(資料庫use=系統cd)
MariaDB [mysql]> SHOW TABLES; ###顯示此資料庫中的所有表 MariaDB [mysql]> DESC user; ###檢視某個表的資料結構
MariaDB [mysql]> select * from user; ###查詢表中的所有欄位資訊(資料庫欄位=表格表頭)
MariaDB [mysql]> select User,Host,Password from user; ###查詢表中的某幾個欄位資訊(資料庫select=系統cat) MariaDB [mysql]> flush privileges; ###重新整理資料庫資訊 2. 建立資料庫 MariaDB [(none)]> CREATE database westos; ###建立名為westos的資料庫 MariaDB [(none)]> SHOW DATABASES; ##列出當前已有的庫
MariaDB [westos]> USE westos; ##選擇了資料庫,才可在它中建表 MariaDB [westos]> CREATE TABLE linux ( ###建立westos資料庫中的linux表 -> username varchar(6) not null, ##欄位 字元型別char(長度) 不能為空 -> password varchar(50) not null -> );
MariaDB [westos]> SHOW TABLES;
MariaDB [westos]> DESC linux;
MariaDB [westos]> INSERT INTO linux values('dmf','999'); ##向表中插入資料 MariaDB [westos]> SELECT * FROM linux;
3. 資料庫的更改 MariaDB [westos]> ALTER TABLE linux RENAME messages; ##更改資料庫中表名字
MariaDB [westos]> SHOW TABLES; ##查看錶格
MariaDB [westos]> ALTER TABLE message RENAME linux; ##更改資料庫中表名字 MariaDB [westos]> ALTER TABLE linux ADD age varchar(50); ##新增欄位age,char型別,長度50
MariaDB [westos]> SELECT * FROM linux;
MariaDB [westos]> ALTER TABLE linux DROP age; ###刪除表中CLASS欄位 MariaDB [westos]> ALTER TABLE linux ADD age VARCHAR(10) AFTER username; ###在username欄位後新增age欄位
MariaDB [westos]> SELECT * FROM linux;
MariaDB [westos]> UPDATE linux set password='888' WHERE username='dmf' AND ...; ###更新表中內容,AND後可加任意多個條件 MariaDB [westos]>DELETE FROM linux where username='dmf'; ##刪除表中使用者名稱為dmf的一行記錄 MariaDB [westos]> SELECT * FROM linux; MariaDB [westos]>DROP table linux; ###刪除表 MariaDB [westos]> SHOW tables; MariaDB [westos]>DROP DATABASE westos; ###刪除資料庫 MariaDB [(none)]> SHOW DATABASES;
三、在網頁(apache)上建立及管理資料庫 [[email protected]s ~]# yum install httpd php php-mysql.x86_64 -y ##下載httpd ,php ,php與mysql對應轉接服務 [[email protected] ~]# systemctl start httpd.service
[[email protected] ~]# cd /var/www/html ##必須在apache的預設釋出目錄裡
[[email protected] html]# ls
##安裝包 [[email protected] html]# tar jxf phpMyAdmin-2.11.3-all-languages.tar ##解壓、拆包
[[email protected] html]# mv phpMyAdmin-3.4.0-all-languages mysqladmin ##更改名字為myaqladmin
[[email protected] html]# cd mysqladmin [[email protected] mysqladmin]# less phpMyAdmin-2.11.3-all-languages/Documentation.txt
##記錄著安裝過程 (下載包,看php,mysql版本號;按模板生成config.inc.php並輸入密碼) [[email protected] mysqladmin]# rpm -qa | grep php ##看版本 [[email protected] mysqladmin]# cp config.sample.inc.php config.inc.php ##生成檔案 ;注意檔案安全上下文要為httpd_sys_content_t [[email protected] mysqladmin]# vim config.inc.php ###配置檔案 17 $cfg['blowfish_secret'] = 'ba17c1ec07d65003'; ##密碼在安裝過程檔案中有 [[email protected] mysqladmin]# systemctl restart httpd [[email protected] mysqladmin]# systemctl start mariadb ##開啟資料庫軟體 檢測:瀏覽器 172.25.254.112/mysqladmin ###輸入mariadb資料庫使用者及密碼
###建立westos資料庫
###在westos資料庫中建linux表格
###建立linux表格裡的欄位
##填寫表格資訊
四、資料庫備份 1)備份 [[email protected] mnt]# mysql -uroot -pwestos -e "show databases;" ##檢視資料庫
[[email protected] mnt]# mysqldump -uroot -pwestos --all-databases ##檢視所有資料庫資料
[[email protected] mnt]# mysqldump -uroot -pwestos --all-databases --no-data ##檢視所有資料結構 [[email protected] mnt]# mysqldump -uroot -pwestos westos > /mnt/westos.sql ##指定資料庫的資料備份 2)刪庫 [[email protected] mnt]# mysql -uroot -p123 -e "drop database westos;" ##刪除資料庫
[[email protected] mnt]# mysql -uroot -pwestos -e "show databases;" ##檢視資料庫
###weosto庫已刪除 4)恢復,庫需存在 方法1:命令建庫 [[email protected] mnt]# mysql -uroot -p westos "CREATE DATABASE westos;"
[[email protected] mnt]# mysql -uroot -pwestos < /mnt/ku.sql ##資料恢復;注意:備份的資料庫必須存在 方法2:文字方式建庫 [[email protected] mnt]# vim /mnt/ku.sql ##修改備份檔案
[[email protected] mnt]# mysql -uroot -pwestos < /mnt/ku.sql ##資料恢復 [[email protected] mnt]# mysql -uroot -pwestos -e "SELECT * FROM westos.linux;" ##恢復後,登陸資料庫檢視 五、資料庫mysql密碼忘記 1.改密碼 [[email protected] mnt]# mysqladmin -uroot -pwestos password student ###修改root使用者密碼為student [[email protected] mnt]# mysql -uroot -pstudent Welcome to the MariaDB monitor. Commands end with ; or \g. 2.忘記密碼 1)關閉mariadb服務,進入安全模式 [[email protected] ~]# systemctl stop mariadb ##關閉服務 [[email protected] ~]# mysqld_safe --skip-grant-tables & ##跳過授權列表,進入安全模式;ctrl+c結束 2)修改root密碼 [[email protected] ~]# mysql ##安全模式無密碼可登陸 MariaDB [(none)]> UPDATE mysql.user SET Password=password('westos') WHERE User='root';
##修改密碼為westos,並將他用password加密;不加密則密碼為明文 MariaDB [mysql]> SELECT User,Password FROM user; ###密碼修改成功 +------+-------------------------------------------------------------------------------+ | User | Password | +------+-------------------------------------------------------------------------------+ | root | *28C1E2BE21B45562A34B6CC34A19CFAFC2F88F96 | | root | *28C1E2BE21B45562A34B6CC34A19CFAFC2F88F96 | | root | *28C1E2BE21B45562A34B6CC34A19CFAFC2F88F96 | +------+--------------------------------------------------------------------------------+ 3)重啟服務 [[email protected] ~]# ps aux | grep mysql ##檢視mysql的程序
[[email protected] ~]# kill -9 1882 ###關閉所有mysql程序;留下root程序 [[email protected] ~]# systemctl restart mariadb ##重啟服務 [[email protected] ~]# mysql -uroot -pwestos ###用新密碼登陸成功 Welcome to the MariaDB monitor. Commands end with ; or \g. 六、資料庫的使用者授權管理 1.新建使用者 MariaDB [(none)]> CREATE USER [email protected]'localhost' identified by '123';
##新建dmf使用者,他只可在本機使用資料庫,他的密碼為123 MariaDB [(none)]> CREATE USER [email protected]'%' identified by 'teacher';
##新建teacher使用者,他可遠端登陸並使用資料庫,他的密碼為teacher MariaDB [(none)]> SELECT User,Host FROM mysql.user; ###檢視新建使用者
2.檢視使用者許可權及授權 MariaDB [(none)]> GRANT SELECT,INSERT,UPDATE,DELETE ON westos.* TO [email protected];
##給使用者授權;可檢視、可插入、可更新、可刪除 MariaDB [(none)]> SHOW GRANTS FOR [email protected]; ###檢視student使用者許可權 GRANT SELECT, INSERT, UPDATE, DELETE ON `westos`.* TO 'dmf'@'localhost' ## 可檢視、插入、更新、刪除 [[email protected] ~]# mysql -udmf -p123 ##dmf使用者登陸資料庫 MariaDB [(none)]> SHOW DATABASES; ###有許可權:可登陸,可看 3)撤銷許可權 MariaDB [(none)]> REVOKE SELECT, INSERT, UPDATE, DELETE on westos.* from [email protected]; ###撤銷dmf使用者許可權 [[email protected] ~]# mysql -udmf -p123 ##dmf使用者登陸資料庫 MariaDB [(none)]> SHOW DATABASES; ###無許可權:可登陸,但不可看任何東西 4)刪除使用者 MariaDB [(none)]> DROP USER [email protected]; MariaDB [(none)]> DROP USER [email protected]'%';