第八单元-数据库mariadb
一、安装登陆
1.安装,开启服务
yum install mariadb-server -y
systemctl start mariadb
2.屏蔽mysql的入口
1>监听端口屏蔽
netstat -antple | grep mysql ##检测监听端口,端口显示为80
示图:监听端口
vim /etc/my.cnf ##编辑文件设置检测时略过mysql,监听端口就不会查到mysql的端口
示图:文件编辑内容
syetmctl restart mariadb
netstat -antple | grep mysql ##修改后检查可以观察到没有mysql的端口
2>设置用户密码登陆
mysql ##命令登陆,还可以无用户密码登陆
示图:无用户密码登陆
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
示图:设置后直接登陆失败
mysql -uroot -pwestos
示图:使用用户密码登陆
二、mysql使用命令
1.基本使用
show databases; ##显示databases中所有的库,任何命令必须以“;”结尾
use mysql; ##进入mysql数据库
show tables; ##显示当前数据库的所有表
示图:显示当前库的所有表
select Host,User from user; ##只显示user表中Host和User字段的数据(字段指列,*指所有)
示图:显示指定字段表的内容
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'));)
示图:当前所有库信息
示图:新建库westos中所有表信息
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; ##删除库
示图:删除表
示图:删除库
示图:删除字段
删除:表内信息
示图:linux当前信息
三、数据库及表的备份与和恢复
mysqldump -uroot -pwestos --all-data --no-data ##备份所有表不包括数据
mysqldump -uroot -pwestos westos ##备份库westos
mysqldump -uroot -pwetsos westos > /mnt/westos.sql ##将westos库备份到/mnt下wetsos.sql文件中
示图:备份库数据
mysqldump -uroot -pwestos westos linux > /mnt/linux.sql ##将westos中的表linux备份到/mnt下的linux.sql文件中
示图:备份表数据
mysqldump -uroot -pwestos -e "create database westos;" ##-e可以在终端进行mysql操作
mysqldump -uroot -pwestos westos < /mnt/westos.sql ##如果westos库数据损坏,可以用此命令将/mnt下的westos库数据恢复
示图:恢复库数据检测
四、用户管理
示图:用户建立
create user redhat@'%' identified by 'redhat'; ##建立用户redhat,此用户可以通过网络登陆
示图:用户建立
drop user harry@'%'; ##删除可以用网络登陆的用户harry
示图:删除用户
show grants for redhat@'%'; ##查看用户被授予的权力
示图:用户授权
revoke delete on westos.linux from redhat@localhost; ##移除用户某项权力
示图:用户移权
mysql -uredhat -predhat -h localhost ##本地登陆用户
示图:本地登陆用户
mysql -uredhat -predhat -h 172.25.254.198 ##通过网络登陆用户,前提必须将/etc/my.cnf文件中的skip-networkig=1变为=0
示图:/etc/my.cnf文件查看
五、数据库密码修改
##当用户密码忘记时
mysqld_safe --skip-grant-tables & ##开启mysql登陆接口并忽略授权表
mysql ##不需要密码直接登陆
示图:忽略授权表后登陆
update mysql.user set Password=password('westos') where User='root'; ##修改root密码
示图:修改密码
ps aux |grep mysql ##过滤mysql的所有进程并用kill -9结束这些进程
kill -9 mysqlpid
示图:过滤并结束mysql相关的进程
systemctl start mariadb ##重新开启服务
mysql -uroot -predhat ##登陆测试
示图:测试结果