详解 Mysql 数据库入门基础

1.数据库的介绍

【1】 什么是数据库
数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。大家可以理解为:数据库就是个高级的表格软件

【2】 常见数据库
Mysql Oracle mongodb db2 sqlite sqlserver …

2.mariadb的安装

dnf install mariadb-server.x86_64 -y
在这里插入图片描述

3.软件基本信息

mariadb.service 启动服务
3306 默认端口号
/etc/my.cnf 主配置文件
/var/lib/mysql 数据目录
  • 启动服务
    在这里插入图片描述
  • netstat -antulpe | grep mysql端口是3306
    在这里插入图片描述
  • 数据目录 rpm -ql mariadb-server查看
    在这里插入图片描述

4.数据库开启

  • systemctl enable --now mariadb
    在这里插入图片描述

5.数据库的安全初始化

数据库开启之后,不用输入密码,mysql可直接登入,这样是不安全的。
在这里插入图片描述
所以我们要进行一系列的设置:
1.关闭数据库开放端口

  • vim /etc/my.cnf编辑主配置文件
    在这里插入图片描述
    注意:不能直接写在[client-server]下,否则会影响数据库的登陆
  • systemctl restart mariadb
  • netstatus -antlupe | grep mysql 此时查询不到端口,设置成功
    在这里插入图片描述

2.执行安全初始化脚本

  • mysql_secure_installation
Set root password? [Y/n] y       设置密码
New password: 
Re-enter new password: 
Password updated successfully!

Reloading privilege tables..
 ... Success!
Remove anonymous users? [Y/n] Y  去掉匿名用户登陆数据库的权力
Disallow root login remotely? [Y/n]    去掉超级用户远程登陆的权力
Remove test database and access to it? [Y/n] Y  删除测试库
Reload privilege tables now? [Y/n] Y    刷新数据库
  • 登录测试:此时mysql不能直接登录,安全性提高了
    在这里插入图片描述

6.数据库的基本管理

一定不能忘记‘ ; ’的使用,注意大写!!
【1】查看

命令 作用
SHOW DATABASES; 显示库名称
USE mysql; 进入mysql库
SHOW TABLES; 显示库中的所有表
SELECT * FROM user; 查询所有数据
SELECT Host,User,Password FROM user; 查询指定字段

PS: 一列一列的被叫做字段,host字段,user字段等
练习:

  • SHOW DATABASES;
    在这里插入图片描述
  • USE mysql;+SHOW TABLES;
    在这里插入图片描述
  • SELECT * FROM user;
    在这里插入图片描述
  • SELECT Host,User,Password FROM user;
    在这里插入图片描述

【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’); 插入数据
  • 建立原理:(自动建立目录,目录中会含有一些信息。)
    在这里插入图片描述
    在我们的系统中建立文件,删除文件后,该数据库就可能会消失,所以说,当我们重装数据库时,要将/var/lib/mysql/目录下的数据删掉。

数据库的卸载可按照下面操作进行:

[root@mariadb ~]# dnf remove mariadb-server
使用此命令,软件是被卸载了,但是其数据是会保留的
[root@mariadb ~]# cd /var/lib/mysql/
[root@mariadb mysql]# ls
aria_log.00000001  ib_buffer_pool  ib_logfile0  multi-master.info  mysql_upgrade_info
aria_log_control   ibdata1         ib_logfile1  mysql              performance_schema
[root@mariadb mysql]# rm -fr *

练习:

  • 当命令比较长的时候可以采取下面的方法,排错方便。
    如:CREATE TABLE linux (username varchar(6) not null, password varchar(30) not null);
    在这里插入图片描述

    扫描二维码关注公众号,回复: 11081103 查看本文章
  • DESC linux;
    在这里插入图片描述

  • INSERT INTO linux VALUES ('user2','redhat');
    在这里插入图片描述
    在插入数据时,即使不想在里面写入东西,也要用‘ ’来代替。
    在这里插入图片描述

【3】更改
表的名称可以进行修改,但是!!不要去更改数据库的库名称,否则可能会导致数据的丢失。如果一定要对库名称进行更改,请先将数据进行备份,备份完后删除该库,然后新建想要名称的库,最后再将数据导入进去。

命令 作用
ALTER TABLE linux RENAME lyq; 更改表的名称
ALTER TABLE linux DROP age; 删除指定字段
UPDATE linux SET sex=‘g’ WHERE username=‘user2’; 修改数据
ALTER TABLE linux ADD age varchar(4) AFTER password; 修改所插入字段的位置

练习:

  • 添加性别
    在这里插入图片描述

  • 将linux重命名为lyq
    在这里插入图片描述

  • ALTER TABLE linux ADD age varchar(4) AFTER password;修改所插入字段的位置
    在这里插入图片描述

  • UPDATE linux SET sex='g' WHERE username='user2';修改数据
    之前设定了sex的属性只有一个字符长度,所以在写入’boy’的时候会出现如下所表示的问题。
    在这里插入图片描述
    将‘boy’修改为‘b’后,如果不加以限定,那么所有用户的性别都会被修改
    在这里插入图片描述
    加以限定后,只会对针对用户进行修改
    在这里插入图片描述

  • ALTER TABLE linux DROP age;
    在这里插入图片描述

【4】删除

命令 作用
DELETE from linux where username=‘user2’ and age=‘18’; 删除库中的某个数据
DROP TABLE lyq; 删除表
DROP DATABASE westos; 删除库

练习:

  • 我建立了两个user2,此时按照下述不同情况进行删除
    不加条件限定时: DELETE from lyq where username=‘user2’;
    在这里插入图片描述
    加条件限定时:
    新建两个user2进行测试
    在这里插入图片描述
    加上别的条件进行删除and age=''
    在这里插入图片描述
  • 删除表
    在这里插入图片描述
  • 删除库
    在这里插入图片描述

7.数据密码管理

1.数据密码更改
mysqladmin -uroot -plee password westos

  • 原密码为westos,修改密码为lee
    在这里插入图片描述

  • 此时密码修改成功
    在这里插入图片描述
    此处-plee只是为了让大家直观的看出密码是lee,在后续登陆的时候,使用 mysql -uroot -p后输入密码
    在这里插入图片描述
    【2】数据库密码破解

  • systemctl stop mariadb

  • mysqld_safe --skip-grant-tables &
    在这里插入图片描述
    启动数据库的时候跳过数据库的授权表,直接可以mysql认证登陆

  • UPDATE mysql.user set Password=password('123') WHERE User='root';使用此命令就会加密

  • flush privileges;进行刷新
    在这里插入图片描述

  • kill -9 mysql的所有进程
    在这里插入图片描述

  • systemctl start mariadb后,登录发现修改成功
    在这里插入图片描述

8.用户授权

  • CREATE USER lee@localhost identified by 'lee';建立用户
    localhost表明:lee只能在数据库安装的主机里登陆数据库
    '%'表明:他可在任何的系统当中通过网络的登陆去管理数据库(此举只是授权,还要看端口,一般不选用此方法)
    在这里插入图片描述
  • SHOW GRANTS for lee@localhost; 查看授权
    root用户登陆数据库后建立一个westos
    在这里插入图片描述
    使用lee登陆后,无法看见之前所创建的westos
    在这里插入图片描述
  • GRANT SELECT ON westos.* to lee@localhost;授权
    在这里插入图片描述
    在这里插入图片描述
    授权成功后lee登录后就可以看见
    在这里插入图片描述
  • REVOKE SELECT ON westos.* FROM lee@localhost; 取消授权
    取消成功
    在这里插入图片描述
  • DROP user lee@localhost; 删除用户

9.数据库的备份

命令 作用
mysqldump -uroot -p123 --all-database 完全备份数据库
mysqldump -uroot -p123 --all-database --no-data 只备份表的结构,不要数据库里的数据
mysqldump -uroot -p123 westos 备份westos
mysqldump -uroot -p123 westos > /mnt/westos.sql 备份westos到/mnt下
mysql -uroot -p123 -e “create database westos;” 使用-e可直接执行mysql里的命令

练习:

  • mysqldump -uroot -p123 --all-database 完全备份数据库
    在这里插入图片描述
    在这里插入图片描述
  • mysqldump -uroot -p123 --all-database --no-data只备份表的结构,不要数据库里的数据
    在这里插入图片描述
  • mysqldump -uroot -p123 westos > /mnt/westos.sql
    在这里插入图片描述
  • 使用-e可直接执行mysql里的命令
    在这里插入图片描述在这里插入图片描述

10.phpmyadmin的安装

【1】前期准备
我们在apache部分已经安装了php

  • dnf install httpd php php-mysqlnd -y
  • systemctl enable --now httpd
  • systemctl stop firewalld
    在这里插入图片描述
  • less README查看安装所需操作
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述

【2】vim Documentation.txt

【3】修改配置文件

  • vim config.inc.php
    在这里插入图片描述
    在这里插入图片描述
  • firefox http://192.168.0.12/mysqladmin
    在这里插入图片描述
    登录后就可以在web中进行一系列的操作
发布了64 篇原创文章 · 获赞 4 · 访问量 3429

猜你喜欢

转载自blog.csdn.net/ly_qiu/article/details/104945267
今日推荐