mysql数据库的基本管理

1.数据库的基本介绍

(1)数据库的定义

数据库就是个高级的表格软件


(2)常见数据库


Mysql  Oracle  mongodb  db2  sqlite  sqlserver  mariadb ...


(3)数据库中的常用名词


<1>. 字段:表格中的表头
<2>. 表:表格
<3>. 库:存放表格的目录
<4>. 查询:对表格中的指定内容进行查看


2.mariadb的安装、基本信息及启动

(1)安装
dnf install mariadb-server.x86_64 -y
(2)基本信息
mariadb.service                                    //启动服务
3306                                                     //默认端口号
/etc/my.cnf.d/mariadb-server.cnf          //主配置文件
/var/lib/mysql                                       //数据目录,当需要重新安装mariadb时需要清理此目录或备份
(3)启动
systemctl enable --now mariadb

3.数据库安全初始化脚本

mysql                          //无法登陆
mysql -uroot -p          //使用密码进行登录


netstat -antlupe | grep mysql                    //查询端口信息 


vim /etc/my.cnf.d/mariadb-server.cnf            //编辑配置文件
编辑内容如下图所示

systemctl restart mariadb.service            //重启数据库服务
netstat -antlupe | grep mysql

结果如下图所示

4.数据库的基本管理 

(1)查看

SHOW DATABASES;                                   //显示库名称

 
USE mysql;                                             //进入mysql库


SHOW TABLES;                                       //显示库中的所有表


SELECT * FROM user;                                   //查询所有数据


SELECT Host FROM mysql.user WHERE User='root'           //查询host字段user为root的数据

(2)新建

CREATE DATABASE westos;                    //新建库


CREATE TABLE linux (                                //新建表
username varchar(6) not null,
password varchar(30) not null
);
DESC linux;                               //显示表结构

 
INSERT INTO linux VALUES ('user1','123'),('user2','123');           //插入数据
FLUSH PRIVILEGES;                       //刷新数据库

SELECT * FROM linux;

 

(3)更改

ALTER TABLE user RENAME muu;                  //修改user表的名称为muu

SHOW TABLES;

ALTER TABLE linux ADD age varchar(4) AFTER password;           //添加age字段长为4,列在password后边

SELECT * FROM linux;

 
ALTER TABLE linux DROP age;                  //删去age字段
UPDATE linux SET age='20';                    //age全为20
SELECT * FROM linux;

 
UPDATE linux SET age='18' WHERE username='user2';     //user2的age为18
SELECT * FROM linux;

(4)删除

DELETE from linux where username='user2' and age='18';       //删除user2且age为18的数据

SELECT * FROM linux;


DROP TABLE linux;             //删除linux表

SHOW TABLES;


DROP DATABASE westos;         //删除westos库
SHOW DATABASES;

5.数据库密码管理

(1)数据密码更改

mysqladmin -uroot -pwestos password lee           //将密码由westos更改为lee

(2)数据库密码破解

systemctl stop mariadb
mysqld_safe --skip-grant-tables &            //后台启动mysql安全模式
ctrl+C
mysql -uroot -p               //无需密码直接登录

SELECT * FROM mysql.user                     //列出user表的所有数据
UPDATE mysql.user set authentication_string=password('lee') WHERE User='root';      //修改密码

ps aux | grep mysql               //查看进程


kill -9        mysql的所有进程        //(根据进程号删除)
systemctl start mariadb


6.用户管理与授权

(1)添加用户
CREATE USER lee@localhost identified by 'lee';          //只能用localhost登陆
CREATE USER westos@% identified by 'westos';                     //可以通过网络或localhost登陆

(2)建立库和表
CREATE DATABASE westos
CREATE TABLE westos.linux(
username varchar(6)not  null,
password varchar(40) not null
);

GRANT INSERT,SELECT ON westos.* TO westos@%;                //给westos用户授权


SHOW GRANTS for westos@%;                                             //查看授权信息  

退出,切换westos用户登录,分别检验INSERT和SELECT

SHOW DATABASES;
INSERT INTO westos.linux  VALUES ('user1','123');

REVOKE SELECT ON westos.* FROM lee@localhost;            //取消授权


DROP user westos@%;                      //删除用户

7.数据库的备份与恢复

(1)备份
mysqldump -uroot -pwestos --all-database                          //备份所有数据
mysqldump -uroot -pwestos --all-database --no-data          //只备份框架,不备份数据
mysqldump -uroot -pwestos westos
mysqldump -uroot -pwestos westos > /mnt/westos.sql         //将备份数据导入/mnt/westos.sql中

(2)恢复
<1>
mysql -uroot -pwestos -e "create database westos;"         //创建westos库, -e表示在shell中执行sql语句
mysql -uroot -pwestos westos < /mnt/westos.sql             //将备份数据导入westos库中
<2>
vim /mnt/westos.sql
编辑内容

mysql -uroot -pwestos < /mnt/westos.sql            //将备份数据导入westos库中

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值