Linuxunit8-mariadb数据库

来源:互联网 发布:哪里有学淘宝拍摄的 编辑:程序博客网 时间:2024/06/07 18:43

第八单元-数据库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   ##备份所有表中的数据,若无指定备份位置,将会把备份的内容备份到输出端口
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@localhost identified by 'redhat';   ##建立用户redhat,此用户只可以本地登陆,密码是‘redhat’
示图:用户建立

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

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

示图:删除用户


grant insert,update,delete,select on westos.linux to redhat@localhost;  ##给只许本地登陆的redhat用户授予insert,update,delete,select权力
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文件查看


示图:通过网络登陆用户

五、数据库密码修改


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

##当用户密码忘记时

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  ##登陆测试

示图:测试结果



原创粉丝点击