• MySQL大揭秘:深入探索Linux数据库管理


    1 数据库的基本介绍

    1.1 数据库的基本介绍

    1. 数据库的本质就是高级的excle表格。
    2. 常见的数据库有:MySQL、Oracle 、sqlserver
    3. mariadb就是MySQL的一种。
    4. 数据库常用的名词

    1.字段 :表格中的表头,每一列就是一个字段
    2.表 :表格
    3.库 :存放表格的目录,许多个表格组成了库
    4.查询 :对表格中的指定内容进行查看
    5.数据库:许多的库组成大的数据库

    1.2 数据库的安装

    dnf install mariadb-server.x86_64 -y
    
    • 1

    1.3 数据库的启用

    systemctl enable --now mariadb
    
    • 1

    在这里插入图片描述

    1.4 数据库基本信息

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

    在这里插入图片描述

    2 数据库的安全初始化

    2.1 关闭数据库开放端口

    /etc/my.cnf.d/mariadb-server.cnf # 在主配置文件中,增加下面的内容
    skip-networking=1
    
    • 1
    • 2

    在这里插入图片描述
    在这里插入图片描述

    2.2 执行安全初始化脚本

    mysql_secure_installation
    
    • 1

    在这里插入图片描述
    在这里插入图片描述

    3 数据库的基本管理

    3.1 增

    1. 新建数据库
    CREATE DATABASE sxl;  # sxl是库名字
    
    • 1

    在这里插入图片描述

    1. 创建表结构
    CREATE TABLE sxl.linux ( # sxl是数据库,linux是sxl库中的表
    username varchar(6) not null,
    password varchar(30) not null
    );
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    1. 在表中添加数据
    INSERT INTO sxl.linux VALUES ('user1','123'),('user2','345'); # 按照表结构写数据
    
    • 1

    在这里插入图片描述

    3.2 删

    1. 删除符合条件的行
    DELETE FROM linux1 WHERE username='user1';
    
    • 1
    1. 删表
    DROP TABLE linux1; 
    
    • 1
    1. 删库
    DROP DATABASE sxl; 
    
    • 1

    在这里插入图片描述

    3.3 改

    1. 更改数据库中的表名
    ALTER TABLE linux RENAME linux1;
    
    • 1

    在这里插入图片描述

    1. 在表中插入新的属性信息
    ALTER TABLE linux1 ADD age varchar(4) AFTER username;
    
    • 1

    在这里插入图片描述

    1. 更新表中的属性值
    UPDATE linux1 SET age=18 WHERE username='user2'; # 更新符合条件的
    UPDATE linux1 SET age=20; # 更新所有
    
    • 1
    • 2
    1. 丢弃某一字段
    ALTER TABLE linux1 DROP age;
    
    • 1

    在这里插入图片描述

    1. 丢弃某一字段
    ALTER TABLE linux1 DROP age;
    
    • 1

    在这里插入图片描述

    3.4 查

    1. 查看有哪些数据库
    SHOW DATABASES;
    
    • 1
    1. 使用其中的数据库
    USE sxl;
    
    • 1
    1. 查看数据库中的表
    SHOW TABLES;
    
    • 1

    在这里插入图片描述

    1. 查询表中所有数据
    SELECT * FROM linux;
    
    • 1
    1. 查询指定字段
    SELECT username FROM linux;
    
    • 1
    1. 查询符合条件的数据
    SELECT * FROM linux WHERE username='user2';
    
    • 1

    在这里插入图片描述

    4 数据密码管理

    4.1 数据密码更改

    mysqladmin -uroot -pwestos password sxlsxl
    
    • 1

    在这里插入图片描述

    4.2 数据库密码破解(忘记密码)

    systemctl stop mariadb 
    mysqld_safe --skip-grant-tables &
    UPDATE mysql.user set Password=password('lee') WHERE User='root'; ##当未使用过mysladmin更改过
    密码
    UPDATE mysql.user set authentication_string=password('lee') WHERE User='root'; ##当使用过
    mysladmin更改过密码
    flush privileges;
    ps aux | grep mysql
    kill -9 mysql的所有进程
    systemctl start mariadb
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    1. 关掉数据库
    systemctl stop mariadb 
    
    • 1
    1. 跳过数据库安全认证
    mysqld_safe --skip-grant-tables &
    
    • 1

    在这里插入图片描述
    在这里插入图片描述

    1. 更新数据库密码
      在这里插入图片描述

    2. 关闭所有mysql进程

    ps aux | grep mysql
    kill -9 mysql的所有进程
    
    • 1
    • 2

    在这里插入图片描述

    1. 重启服务
    systemctl start mariadb
    
    • 1

    在这里插入图片描述

    5 用户授权

    5.1 建立数据库用户

    CREATE USER xin@localhost identified by '666';
    SHOW GRANTS for xin@localhost; # 查看用户授权
    SELECT User,Host FROM mysql.user; # 查看本地用户
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    在这里插入图片描述

    5.2 用户授权

    GRANT INSERT,SELECT ON sxl.* TO xin@localhost;
    REVOKE INSERT ON sxl.* FROM xin@localhost;
    
    • 1
    • 2

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    5.3 用户删除

    DROP user xin@localhost;
    
    • 1

    在这里插入图片描述

    6 数据库备份

    6.1 数据库备份方式

    mysqldump -uroot -p123 --all-database # 备份所有数据库
    mysqldump -uroot -p123 --all-database --no-data # 只备份数据库结构
    mysqldump -uroot -p123 westos # 
    mysqldump -uroot -p123 westos > /mnt/westos.sql # 将数据库备份到该路径
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    6.2 恢复数据库备份

    1. 方式一
    mysql -uroot -p123 -e "create database westos;" # 首先创建数据库
    mysql -uroot -p123 westos < /mnt/westos.sql # 执行备份恢复操作
    
    • 1
    • 2

    在这里插入图片描述

    1. 方式二
    vim /mnt/westos.sql # 在该文件中写入以下内容
    CREATE DATABASE westos;
    USE westos;
    mysql -uroot -p123 < /mnt/westos.sql
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    在这里插入图片描述

    7 数据库可视化使用

    dnf install httpd php php-mysqlnd -y
    systemctl enable --now httpd
    systemctl stop firewalld 
    cp phpMyAdmin-3.4.0-all-languages.tar.gz /var/www/html/
    cd /var/www/html/
    tar zxf phpMyAdmin-3.4.0-all-languages.tar.gz
    mv phpMyAdmin-3.4.0-all-languages/ mysqladmin
    cd mysqladmin
    cp config.sample.inc.php config.inc.php
    firefox http://192.168.0.12/mysqladmin
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    Vue3.x+element-plus+ts踩坑笔记
    【java计算机毕设】博客管理系统 javaweb springboot vue mysql
    时序分解 | MATLAB实现ICEEMDAN+SE改进的自适应经验模态分解+样本熵重构分量
    聊聊对Andorid的FileProvider的理解
    最新战报:十项认证,五项最佳实践
    【蓝桥杯单片机入门记录】动态数码管
    扩散模型学习--基于苏神博客
    智慧水务三维可视化管理系统
    如何将图片进行竖直拼接(全景拼接)
    【从零开始学习 SystemVerilog】3.5、SystemVerilog 控制流——阻塞(Blocking)与非阻塞(Non-Blocking)
  • 原文地址:https://blog.csdn.net/weixin_43945111/article/details/133906429