第八单元-数据库mariadb



一、安装登陆



1.安装,开启服务


yum install mariadb-server -y


systemctl start mariadb



2.屏蔽mysql的入口


1>监听端口屏蔽



netstat -antple | grep mysql ##检测监听端口,端口显示为80


示图:监听端口


mariadb监控与性能调优 mariadb监听的端口号_mariadb监控与性能调优


vim /etc/my.cnf  ##编辑文件设置检测时略过mysql,监听端口就不会查到mysql的端口


示图:文件编辑内容


mariadb监控与性能调优 mariadb监听的端口号_数据库_02


syetmctl restart mariadb


netstat -antple | grep mysql  ##修改后检查可以观察到没有mysql的端口



2>设置用户密码登陆


mysql  ##命令登陆,还可以无用户密码登陆


示图:无用户密码登陆


mariadb监控与性能调优 mariadb监听的端口号_Linux学习_03


mysql_secure_installation  ##设置mysql登陆

#####设置内容######## 

 Enter current password for root (enter for none):  ##当前的密码设置是给root设置的->回车表示确定     

 Set root password? [Y/n] y  ##建立密码 

 New password: 

 Re-enter new password: 

 Password updated successfully! 

 Remove anonymous users? [Y/n] y  ##删除其他用户登陆 

  ... Success! 

 Disallow root login remotely? [Y/n] y  ## 

  ... Success! 

 Remove test database and access to it? [Y/n] y 

  - Dropping test database... 

  ... Success! 

  - Removing privileges on test database... 

  ... Success! 

 Reload privilege tables now? [Y/n] y 

  ... Success! 


 mysql




示图:设置后直接登陆失败


mariadb监控与性能调优 mariadb监听的端口号_数据库_04


mysql -uroot -pwestos


示图:使用用户密码登陆


mariadb监控与性能调优 mariadb监听的端口号_数据库_05


二、mysql使用命令



1.基本使用


show databases;  ##显示databases中所有的库,任何命令必须以“;”结尾



use mysql;  ##进入mysql数据库


show tables;  ##显示当前数据库的所有表


示图:显示当前库的所有表


mariadb监控与性能调优 mariadb监听的端口号_mariadb监控与性能调优_06


select Host,User from user;  ##只显示user表中Host和User字段的数据(字段指列,*指所有)


示图:显示指定字段表的内容


mariadb监控与性能调优 mariadb监听的端口号_数据库_07


desc user;  ##显示当前数据库的所有字段,查看此库结构



2.数据库及表的建立


create database westos ##创建一个新的库名字是westos 

 create table linux(   ##在westos库中建立一个表,字段包括username和password 

 username varchar(15) not null,  ##指定username的字符长度不可超过15个,字符类型为varchar,并且不许为空 

 password varchar(15) not null  ##类似上 

 );


insert into linux values ('user1','123');  ##插入一个名叫user1,密码为123的数据(如果需要加米密码,数据的输入格式为:('user2',password('123'));)



示图:当前所有库信息

mariadb监控与性能调优 mariadb监听的端口号_Linux学习_08

示图:新建库westos中所有表信息

mariadb监控与性能调优 mariadb监听的端口号_maria db_09

示图:新建表内容


mariadb监控与性能调优 mariadb监听的端口号_数据库_10


3.数据库及表的更新


update linux set password=password('456') where username=user1;  ##在linux表中将user1的密码改为456


delete from linux where username=user1;  ##删除linux表中user1的数据


alter table linux add age varchart(4);  ##在linux表中添加新的字段,为age,字符长度不可超过4


alter table linux add age varchart(5) after name;  ##在linux表中添加新的字段,位置在name字段后,字符大小不超过5


alter table linux drop age;  ##在linux表中删除age字段

drop table linux;  ##删除表

drop database westos;  ##删除库

示图:删除表

mariadb监控与性能调优 mariadb监听的端口号_mysql_11

示图:删除库

mariadb监控与性能调优 mariadb监听的端口号_maria db_12

示图:删除字段

mariadb监控与性能调优 mariadb监听的端口号_mariadb监控与性能调优_13

删除:表内信息

mariadb监控与性能调优 mariadb监听的端口号_maria db_14

示图:linux当前信息


mariadb监控与性能调优 mariadb监听的端口号_mysql_15


三、数据库及表的备份与和恢复


mysqldump -uroot -pwestos --all-data   ##备份所有表中的数据,若无指定备份位置,将会把备份的内容备份到输出端口 

 mysqldump -uroot -pwestos --all-data --no-data  ##备份所有表不包括数据 

 mysqldump -uroot -pwestos westos   ##备份库westos 

 mysqldump -uroot -pwetsos westos > /mnt/westos.sql  ##将westos库备份到/mnt下wetsos.sql文件中


示图:备份库数据


mariadb监控与性能调优 mariadb监听的端口号_Linux学习_16


mysqldump -uroot -pwestos westos linux > /mnt/linux.sql  ##将westos中的表linux备份到/mnt下的linux.sql文件中


示图:备份表数据


mariadb监控与性能调优 mariadb监听的端口号_mysql_17


mysqldump -uroot -pwestos -e "create database westos;"  ##-e可以在终端进行mysql操作


mysqldump -uroot -pwestos westos < /mnt/westos.sql  ##如果westos库数据损坏,可以用此命令将/mnt下的westos库数据恢复


示图:恢复库数据检测


mariadb监控与性能调优 mariadb监听的端口号_mariadb监控与性能调优_18


四、用户管理


create user redhat@localhost identified by 'redhat';   ##建立用户redhat,此用户只可以本地登陆,密码是‘redhat’


示图:用户建立


mariadb监控与性能调优 mariadb监听的端口号_数据库_19


create user redhat@'%' identified by 'redhat';  ##建立用户redhat,此用户可以通过网络登陆


示图:用户建立


mariadb监控与性能调优 mariadb监听的端口号_mysql_20


drop user harry@'%';  ##删除可以用网络登陆的用户harry



示图:删除用户

mariadb监控与性能调优 mariadb监听的端口号_数据库_21

grant insert,update,delete,select on westos.linux to redhat@localhost;  ##给只许本地登陆的redhat用户授予insert,update,delete,select权力


show grants for redhat@'%';  ##查看用户被授予的权力


示图:用户授权


mariadb监控与性能调优 mariadb监听的端口号_maria db_22

mariadb监控与性能调优 mariadb监听的端口号_数据库_23


revoke delete on westos.linux from redhat@localhost;  ##移除用户某项权力


示图:用户移权


mariadb监控与性能调优 mariadb监听的端口号_mysql_24


mysql -uredhat -predhat -h localhost  ##本地登陆用户


示图:本地登陆用户


mariadb监控与性能调优 mariadb监听的端口号_mysql_25


mysql -uredhat -predhat -h 172.25.254.198  ##通过网络登陆用户,前提必须将/etc/my.cnf文件中的skip-networkig=1变为=0


示图:/etc/my.cnf文件查看

mariadb监控与性能调优 mariadb监听的端口号_数据库_26

示图:通过网络登陆用户


mariadb监控与性能调优 mariadb监听的端口号_maria db_27


五、数据库密码修改


mysqladmin -uroot -pwestos password linux  ##终端处修改用户密码



##当用户密码忘记时



mysqld_safe --skip-grant-tables &  ##开启mysql登陆接口并忽略授权表


mysql                              ##不需要密码直接登陆


示图:忽略授权表后登陆


mariadb监控与性能调优 mariadb监听的端口号_maria db_28


update mysql.user set Password=password('westos') where User='root';  ##修改root密码


示图:修改密码


mariadb监控与性能调优 mariadb监听的端口号_maria db_29


ps aux |grep mysql  ##过滤mysql的所有进程并用kill -9结束这些进程


kill -9 mysqlpid


示图:过滤并结束mysql相关的进程


mariadb监控与性能调优 mariadb监听的端口号_数据库_30


systemctl start mariadb  ##重新开启服务


mysql -uroot -predhat  ##登陆测试


示图:测试结果

mariadb监控与性能调优 mariadb监听的端口号_mariadb监控与性能调优_31