mysql 数据库的基本管理

数据库的介绍

  1. 什么是数据库
    数据库就是个高级的表格软件
  2. 常见数据库
    Mysql Oracle mongodb db2 sqlite sqlserver …
  3. mariadb:MariaDB数据库管理系统是MySQL的一个分支

Mariadb 的安装和软件基本信息

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

开启服务

  • systemctl enable --now mariadb        #开机自启并且立马开启

数据库的安全初始化

  1. 关闭数据库开放端口
    通过编辑配置文件关闭数据库开放端口 vim /etc/my.cnf
  2. mariadb默认数据库文件位置 mariadb数据库默认端口_linux

    mariadb默认数据库文件位置 mariadb数据库默认端口_linux_02

  3. 执行安全初始化脚本 mysql_secure_installation
  4. mariadb默认数据库文件位置 mariadb数据库默认端口_数据库_03

数据库的基本管理

  • 登陆
    mysql -u用户名 -p密码        #登陆

mysql -u用户名 -p密码  -e ‘命令’    #不用登陆到mysql执行命令

mariadb默认数据库文件位置 mariadb数据库默认端口_php_04

注:为了操作规范,以上的密码都可以不写在命令行,在按下回车之后会弹出窗口要求输入密码

  • 查看
    SHOW DATABASES; ##显示库名称
    USE mysql; ##进入mysql库
    SHOW TABLES; ##显示库中的所有表

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

mariadb默认数据库文件位置 mariadb数据库默认端口_数据库_05


SELECT Host,User,Password FROM user; ##查询指定字段

mariadb默认数据库文件位置 mariadb数据库默认端口_数据库_06

  • 新建
    CREATE DATABASE westos; ##新建库
  • mariadb默认数据库文件位置 mariadb数据库默认端口_数据库_07

  • CREATE TABLE linux (
    username varchar(6) not null,
    password varchar(30) not null
    ); ##新建表
    DESC linux; ##显示表结构
    INSERT INTO linux VALUES (‘user1’,‘123’); #插入数据
  • mariadb默认数据库文件位置 mariadb数据库默认端口_linux_08

  • FLUSH PRIVILEGES; #刷新数据库
  • 更改
    ALTER TABLE linux RENAME redhat;     #重命名表的名字
    ALTER TABLE redhat ADD age varchar(4) AFTER username;    #增加表的结构
  • mariadb默认数据库文件位置 mariadb数据库默认端口_mysql_09

ALTER TABLE redhat DROP age;       #删除表的结构

mariadb默认数据库文件位置 mariadb数据库默认端口_mariadb默认数据库文件位置_10


UPDATE redhat SET sex=‘man’ WHERE username=‘user1’ and password=‘123’;  #更新表

mariadb默认数据库文件位置 mariadb数据库默认端口_mariadb默认数据库文件位置_11

  • 删除
    DELETE FROM redhat WHERE username=‘user1’ and sex=‘man’;
  • mariadb默认数据库文件位置 mariadb数据库默认端口_php_12

  • DROP TABLE redhat;
  • mariadb默认数据库文件位置 mariadb数据库默认端口_php_13

  • DROP DATABASE westos;
  • mariadb默认数据库文件位置 mariadb数据库默认端口_mariadb默认数据库文件位置_14

  • 退出
    quit 和 快捷键ctrl +d

数据库密码管理

  • 密码更改
    mysqladmin -uroot -pwestos password snji
  • mariadb默认数据库文件位置 mariadb数据库默认端口_mysql_15

  • 密码破解
  1. 停止服务 systemctl stop mariadb
  2. mysqld_safe --skip-grant-tables &     #跳过认证环节进入mysql
  3. mysql     #进入mysql
  4. UPDATE mysql.user SET authentication_string=password(‘lee’) WHERE User=‘root’;         #修改mysql中root 密码 为lee (rhel8修改)
    UPDATE mysql.user set Password=password(‘lee’) WHERE User=‘root’;(rhel7修改密码) password(‘lee’) 对密码加密处理
  5. ps axu |grep mysql      #查看系统中所用关于mysql的进程
  6. kill -9 1757 1851      #杀死所有和mysql有关的进程
  7. 开启服务,测试

用户授权

  • CREATE USER lee@localhost identified by ‘lee’;    #只能用localhost登陆
    CREATE USER lee@% identified by ‘%’;      #可以通过网络或localhost登陆
  • GRANT INSERT,SELECT ON westos.* TO lee@localhost;   #给本地用户lee加入插入和查看数据库westos下所有表的权力
  • SHOW GRANTS for lee@localhost;       #查看本地用户less的权力
  • mariadb默认数据库文件位置 mariadb数据库默认端口_mariadb默认数据库文件位置_16

    mariadb默认数据库文件位置 mariadb数据库默认端口_linux_17

  • REVOKE SELECT ON westos.* FROM lee@localhost;    #移除本地用户lee对数据库westos 的查看权力
  • mariadb默认数据库文件位置 mariadb数据库默认端口_php_18

    mariadb默认数据库文件位置 mariadb数据库默认端口_php_19

  • DROP user lee@localhost;            #删除本地用户
  • mariadb默认数据库文件位置 mariadb数据库默认端口_mariadb默认数据库文件位置_20

数据库的备份以及恢复

备份

  • mysqldump -uroot -plee --all-databases      #备份所有数据库的信息
  • mysqldump -uroot -plee --all-databases --no-data    #备份所有数据库的表的结构,没有备份每个表里面的内容
  • mysqldump -uroot -plee westos       #备份数据库westos里的信息
  • mysqldump -uroot -plee westos > /mnt/westos.sql   #备份数据库westos的信息,并且重定向到westos.sql文件里
  • mariadb默认数据库文件位置 mariadb数据库默认端口_php_21

恢复

第一种方法

  • mysql -uroot -plee -e ’create database westos;‘     #创建数据库westos
  • mysql -uroot -plee westos < /mnt/westos.sql     #将备份文件导入数据库

第二种方法恢复

  • 编辑备份文件
  • mariadb默认数据库文件位置 mariadb数据库默认端口_linux_22

  • mysql -uroot -plee < /mnt/westos.sql        #直接将备份文件导入数据库
  • mariadb默认数据库文件位置 mariadb数据库默认端口_linux_23

phpmyadmin的安装实现网页对数据表进行操作

  1. dnf install httpd php php-mysqlnd -y
  2. systemctl enable --now httpd
  3. systemctl stop firewalld
  4. tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2 -C /var/www/html/   #解压缩到/var/www/html/下
  5. cd /var/www/html
  6. mv phpMyAdmin-3.4.0-all-languages/ mysqladmin
  7. cp config.sample.inc.php config.inc.php       #获取配置文件
  8. mariadb默认数据库文件位置 mariadb数据库默认端口_linux_24

  9. http://172.25.254.103/mysqladmin/
  10. mariadb默认数据库文件位置 mariadb数据库默认端口_数据库_25