文章目录

  • 1. 数据库的介绍
  • 2. 安装mysql并启用
  • 3. 软件基本信息
  • 4. 数据库的安全初始化
    • 4.1 关闭数据库开放端口
    • 4.2 执行安全初始化脚本
  • 5. 数据库基本管理
    • 5.1 数据库查看
    • 5.2 数据库新建
    • 5.3 数据库更改
    • 5.4 数据库删除
  • 6. 数据密码管理
    • 6.1 数据库密码更改
    • 6.2 数据库密码破解
  • 7. 用户授权
    • 7.1 创建本地用户
    • 7.2 管理用户权限
    • 7.3 删除用户
    • 7.4 创建网络用户(不建议创建)
  • 8. 数据库备份
    • 8.1 数据库备份方法
    • 8.2 恢复数据方法1
    • 8.2 恢复数据方法2
  • 9. Phpmyadmin 图形数据库管理方式 web
    • 9.1. 安装
    • 9.2 配置
    • 9.3 访问
  • 10. 重装本地数据库

1. 数据库的介绍

  1. 什么是数据库
  • 高级表格软件
  • 以一定方式储存在一起、能为多个用户共享、具有尽可能小的冗余度的特点、是与应用程序彼此独立的数据集合
  • 是依照某种数据模型组织起来并存放二级存储器中的数据集合
  1. 常见数据库
MySQL Oracle MongoDB
DB2 sqlite SqlServer
  1. mysql 介绍

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统(RDBMS)之一。

  1. mariadb

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。

2. 安装mysql并启用

  1. 安装

dnf search mariadb:查找数据库

dnf install mariadb-server.x86_64 -y:安装数据库

  1. 查看配置文件

rpm -qc mariadb-server

  1. 启用数据库服务

systemctl enable --now mariadb



3. 软件基本信息

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

4. 数据库的安全初始化

4.1 关闭数据库开放端口

  1. vim /etc/my.cnf.d/mariadb-server.cnf:编辑主配置文件
skip-networking=1
#关闭数据库开放端口
  1. systemctl restart mariadb.service:重启数据库服务
  2. netstat -antlupe | grep mysql:查询数据库端口(此命令查询不到端口
netstat参数
参数 解释 参数 解释
-a 显示所有选项
(默认不显示LISTEN相关)
-t 仅显示tcp选项
-u 仅显示udp选项 -n 拒绝显示别名
(能显示数字的全部转化为数字)
-l 仅列出有在Listen(监听)的服务状态 -p 显示建立相关链接的程序名
-r 显示路由信息、路由表 -e 显示扩展信息
-s 按各个协议进行统计 -c 每隔固定时间,执行该netstat命令


4.2 执行安全初始化脚本

  1. mysql_secure_installation:初始化
  2. mysql -u用户名 -p密码:登陆数据库(可不明文输入密码)
#登陆数据库方式
mysql -u用户名 -p
mysql -u用户名 -p -e "数据库命令"
mysql -u用户名 -p 数据库名 -e "数据库命令"



5. 数据库基本管理

5.1 数据库查看

  1. SHOW DATABASES;:显示数据库名称
  2. USE 数据库名;:进入数据库
  3. SHOW TABLES;:显示数据库中的表
  4. SELECT * FROM 数据库名.表名;:查询表中所有数据(已经进入该数据库则可以不加数据库名)
  5. SELECT 字段1,字段2 FROM 数据库名.表名;:查询指定字段(已经进入该数据库则可以不加数据库名)
  6. DESC 表名;:显示表结构



5.2 数据库新建

  1. CREATE DATABASE 数据库名;:新建数据库

  2. 新建表

USE westos;  进入数据库
CREATE TABLE 表名(-> 字段 类型 是否为空,-> Username varchar(10) not null,-> Password varchar(10) not null-> );
# '->'不是sql语句的一部分,表示一个新行
# ';'表示指令结束
  1. DESC linux;:显示表结构`
  2. 插入数据
#给所有字段添加
INSERT INTO 表名 VALUES('值1','值2',...,'值n');
INSERT INTO 表名 VALUES ('值1','值2',...,'值n'),('值1','值2',...,'值n')...;#添加多组值
#给指定字段添加
INSERT INTO 表名 (字段1,字段2) VALUES('值1','值2');
INSERT INTO 表名 (字段1,字段2) VALUES ('值1','值2'),('值1','值2')...;#添加多组值
  1. FLUSH PRIVIEGES;:刷新数据库




5.3 数据库更改

  1. ALTER TABLE 原表名 RENAME 新表名;:更改表名称
  2. ALTER TABLE 表名 ADD 字段 类型;:添加字段
  3. ALTER TABLE 表名 ADD 字段 类型 AFTER 已有字段;:添加字段(位置在已有字段之后)
  4. UPDATE 表名 SET字段1=‘值1’,字段2=‘值2’ WHERE 字段=‘值’;:更改数据
  5. ALTER TABLE 表名 DROP 字段名;:删除字段




5.4 数据库删除

  1. DELETE FROM 表名 WHERE 字段=‘值’;:删除指定数据
#指定多个条件
DELETE FROM 表名 WHERE 字段1='值' AND 字段2='值';
  1. DROP TABLE 数据库名.表名;:删除表
  2. DROP DATABASE 数据库名;:删除数据库



6. 数据密码管理

6.1 数据库密码更改

mysqladmin -uroot -p password 新密码

6.2 数据库密码破解

  1. systemctl stop mariadb.service:关闭数据库服务
  2. mysqld_safe --skip-grant-tables &:启动数据库时跳过数据库的授权表
  3. mysql:登陆
#修改密码(rhel8中)
UPDATE mysql.user SET authentication_string=password('新密码') WHERE User='root';
#修改密码(rhel7中)
UPDATE mysql.user Password=password('新密码') WHERE User='root';
#########
password()是为了防止密码裸漏,进行加密处理
  1. ps aux | grep mysql:查询mysql进程
  2. kill -9 进程号:关闭mysql进程
  3. systemctl enable --now mariadb:开启服务


7. 用户授权

7.1 创建本地用户

  1. CREATE USER 用户名@localhost identified by ‘该用户密码’;:只能用lcalhost登陆
  2. SELECT User FROM mysql.user;:查看用户


7.2 管理用户权限

  1. SHOW GRANTS FOR 用户名@localhost;:查看用户权限
  2. GRANT 权限1,权限2 ON 数据库名.* TO 用户名@localhost;:赋予用户权限(* 代表该库下所有表)
  3. REVOKE 权限1,权限2 ON 数据库名.* FROM 用户名@localhost;:收回用户权限

7.3 删除用户

DROP USER 用户名@localhost;:删除用户

7.4 创建网络用户(不建议创建)

  1. CREATE USER 用户名@’%’ identified by ‘该用户密码’;:创建用户(可以通过网络或localhost登陆)
#直接执行创建命令
mysql -uroot -p -e "CREATE USER 用户名@'%' identified by '该用户密码';"
  1. vim /etc/my.cnf.d/mariadb-server.cnf:修改主配置文件(打开数据库开放端口)
#skip-networking=1  注释掉(打开端口)
  1. systemctl restart mariadb.service:重启服务
  2. netstat -antlupe | grep mysql:查询数据库端口
  3. mysql -u用户名 -p密码 -h访问的数据库主机IP:远程或本地访问数据库
  • 在node1中创建网络用户zynet


  • 在node2中访问node1数据库

8. 数据库备份

8.1 数据库备份方法

  1. mysqldump -u用户名 -p --all-databases:备份所有数据
  2. mysqldump -u用户名t -p --all-databases --no-data:备份所有数据,但是不备份数据内容(只有数据库名 表和字段)
  3. mysqldump -u用户名t -p 数据库名 > /mnt/数据库名.sql:备份数据到指定位置



8.2 恢复数据方法1

  1. mysql -u root -p -e “CREATE DATABASE westos;”:创建数据库
  2. mysql -u root -p westos < /mnt/westos.sql:恢复数据到指定数据库中

8.2 恢复数据方法2

  1. vim /mnt/westos.sql:修改备份数据库文件(添加创建并进入操作数据库语句)
CREATE DATABASE westos;
USE westos;
  1. mysql -u root -p < /mnt/westos.sql:恢复数据


9. Phpmyadmin 图形数据库管理方式 web

phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。借由此Web接口可以成为一个简易方式输入繁杂SQL语法的较佳途径,尤其要处理大量资料的汇入及汇出更为方便。其中一个更大的优势在于由于phpMyAdmin跟其他PHP程式一样在网页服务器上执行,但是您可以在任何地方使用这些程式产生的HTML页面,也就是于远端管理MySQL数据库,方便的建立、修改、删除数据库及资料表。也可借由phpMyAdmin建立常用的php语法,方便编写网页时所需要的sql语法正确性。

9.1. 安装

  1. dnf install httpd -y:安装Apache
  2. dnf install php -y:安装php
  3. dnf install php-mysqlnd.x86_64 -y:安装php内置mysql连接驱动
  4. 下载phpMyAdmin到默认发布目录/var/www/html/

9.2 配置

  1. tar jxf /var/www/html/phpMyAdmin-3.4.0-all-languages.tar.bz2:解压缩
  2. cd /var/www/html/:进入该目录
    mv phpMyAdmin-3.4.0-all-languages myadmin:重命名
  3. cd myadmin/:进入该目录
    cp config.sample.inc.php config.inc.php:复制模板文件
  4. systemctl enable --now httpd:打开httpd服务
    systemctl restart httpd:重启httpd服务




9.3 访问

firefox访问http://192.168.43.101/myadmin/



10. 重装本地数据库

  1. systemctl stop mariadb:关闭数据库服务
  2. rm -fr /var/lib/mysql/:删除数据目录
  3. dnf reinstall mariadb-server.x86_64 -y:重装数据库


【Linux学习笔记22】mysql数据库的基本管理相关推荐

  1. Qt学习笔记之MySQL数据库

    一.MySQL概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQ ...

  2. MySQL学习笔记 | 04 - MySQL数据库基本操作(增加、修改、删除、查看)

    MySQL学习笔记 | 01-为什么要使用数据库 MySQL学习笔记 | 02 - MySQL在Windows下的安装.配置.服务启动/停止.用户登录.查看版本号 MySQL学习笔记 | 03 - M ...

  3. 【学习笔记】MySQL数据库高级版 - 索引优化、慢查询、锁机制等

    本文是尚硅谷周阳(阳哥)老师的MySQL高级篇视频的学习笔记.由于视频比较老,所以在高版本的MySQL中索引的地方做了优化,和视频的内容不完全一样,不过大体一致.从第四节锁机制开始的部分还没有整理. ...

  4. 学习笔记(03):MySQL数据库运维与管理-01-mysql通用日志与错误日志

    立即学习:https://edu.csdn.net/course/play/10084/214943?utm_source=blogtoedu MYSQL日志管理 用于实现MYSQL数据库故障排查2, ...

  5. 学习笔记(02):MySQL数据库运维与管理-03-状态变量及查看方法

    立即学习:https://edu.csdn.net/course/play/10084/221706?utm_source=blogtoedu MySQL状态变量 作用:反映当前mysql数据库服务器 ...

  6. python连接mysql很慢 2.7_Python 2.7 学习笔记 访问mysql数据库

    一.基本概念 使用python操作数据库,其基本的流程如下(其实所有开发语言访问数据库的流程都是这样). 1.第一,引入相应数据库的python数据库接口模块,针对不同的数据库类型,有不同的数据库访问 ...

  7. Linux全攻略--MySQL数据库配置与管理

    MySQL是一种精巧的,多用户和多线程的中小型SQL数据库系统,由一个服务器守护进程mysqld和很多不同的客户程序和库组成.现在形成了一个"Linux+Apache+PHP+MySQL&q ...

  8. mysql linux附加数据库文件夹,Linux全攻略--MySQL数据库配置与管理

    MySQL是一种精巧的,多用户和多线程的中小型SQL数据库系统,由一个服务器守护进程mysqld和很多不同的客户程序和库组成.现在形成了一个"Linux+Apache+PHP+MySQL&q ...

  9. Linux学习笔记之环境配置和常用管理命令

    一.环境配置 修改ip地址(略过) 1.网络通信命令 <1> ping 测试网络的连通性 ping 选项 IP地址 -c 指定发送次数 <2> ifconfig 查看和设置网卡 ...

最新文章

  1. Django mysql 多线程_【实例:利用Django管理后台管理IP地址】(四)Django test+多线程+数据库+(踩坑)...
  2. Go 开源说第五期:MOSN Go语言网络代理软件
  3. Oracle计算时间差表达式
  4. Linux下创建用户、切换用户、删除用户
  5. linux c嵌入汇编语言,Linux 下的C和Intel 汇编语言混用
  6. 机器学习-cs229-线性回归-梯度下降法
  7. 在飞音G801上运行OpenWRT+Asterisk
  8. RancherOS v1.5.0发布
  9. python之Django学习笔记(五)---后台(admin.py)Action使用
  10. 区块链技术应用——站在风口上猪都会飞
  11. 1 Linux系统性能测试与监测工具汇总
  12. eclipse 环境安装
  13. VMware虚拟机安装及虚拟机下安装XP系统
  14. 前端3D轨迹可视化渲染
  15. 从新电脑开始构建FATE环境,图文并茂
  16. mc洪磊-2012经典语言大合集 音乐无处不在 老婆无人替代 好听音乐 就用酷狗
  17. Win7中删除桌面IE图标
  18. cv::Mat转换为QImage错误
  19. 计算机主板电感有正负极么,功率电感有没有方向?正负极区分
  20. iOS生成gif图片

热门文章

  1. 5大小红书推广引流技巧,云媒易知识分享
  2. 一套实用的渗透测试岗位面试题
  3. nahimicsvc64禁用
  4. USB 3.0规范中译本 第3章 USB 3.0体系结构概览
  5. 端口复用·一个端口多个进程使用
  6. 计算机网络校园网课程论文,校园网组建毕业论文
  7. note4 android 7.0,三星手机安卓7.0升级名单曝光:S5、Note4无缘
  8. 微信公众平台推广运营
  9. 链表笔记 (前插法 后插法 头插法 尾插法)
  10. 计算1024的阶乘结果有多少个0