3-unit8Mariadb數據庫
######unit8數據庫#########
本單元涵蓋的主題:
*配置和管理數據庫
*配置數據庫用戶和訪問權限
*備份和恢復數據庫
######數據庫的基本sql語句操作########
1.下載安裝
yum install mariadb-server -y
systemctl start mariadb
2.數據庫查詢操作:
mysql ##登陸
show databases; ##顯示數據庫
use mysql; ##進入mysql庫
show tables; ##顯示當前庫中表的名稱
desc linux; ##顯示mysql庫中的表linux的字段
select * from user; ##查詢user表中的所有內容(*可以用表中任何字段代替)
select User,Host,password from user; ##查詢user表中的User,Host,password字段
quit ##退出
netstat -antlpe | grep mysql ##查看mysql狀態
vim /etc/my.cnf
10 skip-networking=1
systemctl restart mariadb
mysql_secure_installation ##設置mysql服務
用戶登陸
mysl -uroot -pwestos ##-u表示指定登陸用戶,-p表示此用戶密碼
mysql -uroot -p ##登陸後輸入密碼
3.數據庫及表的建立
create database westos; ##創建westos數據庫
create table linux( ##創建linux表,表中含有兩個字段username和password
-> username varchar(20) not null, ##username字段字符長度最大為20個,並且不能為空
-> password varchar(25) not null ); ##password字段字符長度最大為25個,並且不能為空
insert into linux values (‘user1‘,‘westos123‘);
##向linux表中插入數據,username字段的數據為user1,password字段為westos123不加密
insert into linux values (‘user1‘,password(‘123‘) );
##插入password字段的數據是用password加密的
4.更新數據庫信息
update linux set password=password(‘redhat‘) where username=‘user1‘;
##更新user1的密碼並加密
update linux set password=‘redhat‘ where username=‘user1‘; ##更新user1的密碼不加密
update linux set password=‘redhat‘ where (username=‘user1‘ or username=‘user2‘);
##更新user1和user2的密碼
delete from linux where username=‘user1‘; ##刪除user1的信息
alter table linux add class varchar(20) not null; ##添加class字段到linux表中的最後一列
alter table linux add date varchar(20) not null after password;
##添加date字段在password字段之後
alter table linux drop class; ##刪除linux表中class字段
5.刪除數據庫
delete from linux where username=‘user1‘; ##從linux表中刪除user1的信息
drop table linux; ##刪除linux表
drop database westos; ##刪除westos庫
6.數據庫的備份
mysqldump -uroot -pwestos --all-database ##備份所有表中的所有數據
mysqldump -uroot -pwestos --all-database --no-data ##備份所有表,但不備份數據
mysqldump -uroot -pwestos westos ##備份westos庫
mysqldump -uroot -pwestos westos > /mnt/westos.sql ##備份westos庫並把所有數據保存到/mnt/westos.sql
mysqldump -uroot -pwestos westos linux > /mnt/linux.sql ##備份westos庫中的linux表並把所有數據保存到/mnt/linux.sql
mysql -uroot -pwestos -e "drop database westos;" ##刪除westos庫
mysql -uroot -pwestos -e "create database westos;" ##建立westos庫
mysql -uroot -pwestos westos < /mnt/westos.sql ##把數據導到westos庫
mysql -uroot -pwestos -e "select * from westos.linux;" ####查詢westos庫的linux表中的所有內容
mysql -uroot -pwestos westos < /mnt/linux.sql ##把linux表的數據導到westos庫
7.用戶授權
create user [email protected] identified by ‘123‘; ##建立用戶cui,此用戶只能通過本機登陸
create user [email protected]%‘ identified by ‘123‘; ##建立用戶cui,此用戶可以通過網絡登陸
grant insert,update,delete,select on westos.linux to [email protected]; ##用戶授權
grant select on westos.linux to [email protected]%‘;
show grants from [email protected]%‘; ##查看用戶授權
show grants for [email protected];
revoke update on westos.linux from [email protected]; ##去除用戶更新的權力
revoke delete on westos.linux from [email protected]; ##去除用戶刪除的權力
drop user [email protected]%‘; ##刪除用戶
測試:
mysql -ucui -p123 ##通過本機登陸
mysql -ucui -p123 -h localhost
vim /etc/my.cnf
10 skip-networking=0
systemctl restart mariadb
mysql -ucui -p123 -h 172.25.254.162 ##通過網絡登陸
8.密碼修改
mysqladmin -uroot -pwestos password 123 ##修改超級用戶密碼
####當超級用戶密碼忘記####
ps aux | grep mysql ##過濾mysql的所有進程並結束這些進程
kill -9 mysqlid ##強行停止進程
systemctl restart mariadb
mysqld_safe --skip-grant-table & ##開啟mysql登陸接口並忽略授權表
mysql ##直接不用密碼登陸
update mysql.user set Password=password(‘123‘) where User=‘root‘; ##更新超級用戶密碼信息
mysql -uroot -p123 ##登陸測試
#########數據庫網頁管理##########
1.安裝
yum install httpd php php-mysql -y
systemctl start httpd ##開啟httpd
systemctl enable httpd
systemctl stop firewalld ##關閉火墻
systemctl disable firewalld
需要下載
phpMyAdmin_4.7.0_beta1_all_languages.zip ##下載數據庫網頁軟件壓縮包
tar jxf phpMyAdmin_4.7.0_beta1_all_languages.tar.gz2 -C /var/www/html ##解壓壓縮包並存放到/var/www/html
mv mv phpMyAdmin-4.7.0-beta1-all-languages/ /var/www/html/mysqladmin ##修改文件名
cd mysqladmin
cp -p config.sample.inc.php config.inc.php ##修改配置文件
vim config.inc.php
17 $cfg[‘blowfish_secret‘] = ‘mysql‘; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
systemctl restart httpd
測試:
訪問http://172.25.254.162/mysqladmin
3-unit8Mariadb數據庫