Linux系统工程师3.4Mysql数据库的基本管理

目录

一.数据库的介绍 :

二. mariadb的安装 :

三. 软件基本信息 :

四. 数据库开启 :

五.mysql的安全初始化 :

六. 数据库的基本管理 :

七.数据密码管理 :

八.用户授权 :

九.数据库的备份 :

 


一.数据库的介绍 :

1.什么是数据库
数据库就是个高级的表格软件

2.常见数据库
Mysql Oracle    mongodb  db2 sqlite sqlserver .......

3.Mysql (SUN  -----> Oracle)

4.mariadb

##数据库中的常用名词##
1.字段        :表格中的表头
2.表        :表格
3.库        :存放表格的目录
4.查询        :对表格中的指定内容进行查看

二. mariadb的安装 :

dnf install mariadb-server.x86_64 -y

三. 软件基本信息 :

mariadb.service                              ##启动服务
3306                                               ##默认端口号
/etc/my.cnf.d/mariadb-server.cnf    ##主配置文件
/var/lib/mysql                                  ##数据目录,当需要重新安装mariadb时需要清理此目录或备份

四. 数据库开启 :

systemctl enable --now mariadb

五.mysql的安全初始化 :

        dnf install enable --now mariadb
        systemctl enable --now mariadb
        mysql    ##直接登陆不安全
        mysql_secure_installation            ##设定密码
            #set root passwd            ##设置root密码
            remove aninymous users            ##移除匿名用户登陆
            disallow root login remotely        ##拒绝远程root登陆
            remove test database and access to it    ##移除数据库测试
            reload privilege tables now        ##重新加载表数据
        mysql -u root -pwestos                ##密码亮出来了不安全,history能看见
        rpm -qc mariadb-server    
        vim /etc/my.cnf.d/mariadb-server.cnf        ##21行写 skip-networking=1 关闭了端口
        systemctl restart mariadb
        netstat -antlupe | grep mysql就看不到它的端口,别人就不能通过端口进行链接了

六. 数据库的基本管理 :

1.查看
SHOW DATABASES;				##显示库名称
USE mysql;				##进入mysql库
SHOW TABLES;				##显示库中的所有表
SELECT * FROM user;			##查询所有数据
SELECT Host,User,Password FROM user;	##查询指定字段
SELECT Host FROM mysql.user WHERE User='root'



2.新建
CREATE DATABASE westos;			##新建库
CREATE TABLE linux (			##新建表
username varchar(10) not null,
password varchar(50) not null
);
DESC linux;        				##显示表结构
INSERT INTO linux VALUES ('user1','123'); 	#插入数据
INSERT INTO linux VALUES ('user2','123'),('user3','123');
SELECT * FROM linux;                           #查看linux表内容
FLUSH PRIVILEGES;				#刷新数据库


3.更改
ALTER TABLE linux RENAME redhat;		        #更改linux表格名字为redhat
ALTER TABLE linux ADD age varchar(4) AFTER password;	#给linux表格中添加age
UPDATE linux SET age='4';			        #将age这一列全部换成4
UPDATE linux SET age='20' WHERE username='user1'	#将username=1以及age交汇的数字换成20
ALTED TABLE linux ADD age varchar(4) AFTER username;	#varchar字符类型/(4)字符长度/AFTER username 位置


4.删除
DELETE from linux where username='user2' and age='18';	#删除user2和age18交汇的数据
DROP TABLE linux;				        #删除linux表
DROP DATABASE westos;				        #删除库
ALTER TABLE linux DROP age;			        #删除age这一行

七.数据密码管理 :

1.数据密码更改

mysqladmin  -u root -p password lee        ##把原来的密码改成lee

2.数据库密码破解

systemctl stop mariadb				##暂停mariadb
mysqld_safe --skip-grant-tables &		##开启一个并且打入后台
mysql -u root					##进入mysql
SELECT * FROM user;				##查看mysql信息	
UPDATE mysql.user set Password=password('westos') WHERE User='root';			##当未使用过mysladmin更改过密码
UPDATE mysql.user set authentication_string=password('westos') WHERE User='root';	##当使用过mysladmin更改过密码
px aux | grep mysql				##查询mysql相关进程
kill -9 mysql的所有进程
systemctl start mariadb				##开启mariadb

 

八.用户授权 :

 1.远程登陆授权 :

    root用户登陆mysql后
        CREATE USER lee@localhost identified by 'westos';    ##只能用localhost登陆
        CREATE USER westos@'%' identified by 'westos';        ##可以通过网络或localhost登陆    
    改配置文件 vim /etc/my.cnf.d/mariadb-server.cnf            ##注释掉21行,  21 #skip-networking=1
    重启服务 : systemctl restart mariadb.service
    关防火墙 : systemctl stop firewalld.service
    然后在另一台主机可以通过 mysql -uwestos -pwestos -h 172.25.254.123 用户登陆, lee和root不行

 

 

 2.增删改查权力赋予 :

root用户登陆mysql后
SELECT *FROM mysql.user;					##看有几个用户
GRANT INSERT,SELECT  ON westos.* TO lee@localhost;		##赋予lee用户查看的权力
SHOW GRANTS for lee@localhost;
GRANT INSERT,SELECT  ON westos.* TO lee@localhost;		##赋予westos用户查看权力
GRANT INSERT,SELECT  ON westos.* TO  westos@'%';
SHOW GRANTS for westos@'%';	
REVOKE SELECT ON westos.* FROM lee@localhost;			##删除用户lee的权力
REVOKE SELECT ON westos.* FROM westos@'%';			##删除用户westos的权力
DROP user lee@localhost;

九.数据库的备份 :

mysqldump -uroot -p123 --all-database            
mysqldump -uroot -p123 --all-database --no-data         ##备份库不备份数据

mysqldump -uroot -p123 westos                                    ##备份数据库到系统默认的文件中
mysqldump -uroot -p123 westos > /mnt/westos.sql        ##备份westos库并且倒入到指定文件


恢复方法1:
mysql -uroot -p123 -e "create database westos;"          ##创建库
mysql -uroot -p123 westos < /mnt/westos.sql                ##倒入库数据

恢复方法2:

vim /mnt/westos.sql                    ##21,22行插入                
CREATE DATABASE westos;
USE westos;

mysql -uroot -p123  < /mnt/westos.sql

            

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值