RHEL 5服务篇—管理以及备份Mysql数据库系统

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

    上一遍文章中,我们已经学会了怎么安装Mysql数据了,那么我们怎么样管理以及使用Mysql呢?Mysql是一套数据库管理系统,在每一台Mysql服务器中,支持运行对个库,每个库相当于一个容器,其中存放着许许多多的表,表中的每一行包含一条具体的数据关系信息。

1、查看Mysql数据中的库和表

首先我们需要连接Mysql数据,只有连接了Mysql数据才可以查看里面的内容。

[root@localhost /]#mysql -u root -p

Enter password:

mysql>

show databases语句:用于列出当前Mysql服务器中包含的库,默认有三个库:test,mysql和information_schema(其中mysql库中包含了用户认证相关的表)

073859183.jpg

show tables语句:用于列出当前所在的库中的所有表,在操作之前需要先使用use语句切换到目标库。

074345282.jpg

describe语句:用于显示表的结构,及组成表的各字段的信息。需要指定“库名.表名”,若只需要指定表名,则需要使用use语句切换到指定的库。

075252101.jpg




2、创建及删除数据库和表

create database 语句:用于创建一个新的库,需要指定数据库名称作为参数。

080010913.jpg

Mysql数据库的数据文件默认存放在“/usr/lcoal/mysql/var/”目录下,每个数据库对应一个子目录,用于存储数据表文件。

080326929.jpg

create table语句:用于在当前库中创建新的表,需要指定数据名称作为参数,并指定该表所使用的各字段。

格式如:create    table    表名 (字段1名称 类型,字段2名称 类型,....,primapy(主键名))

列如:创建一个users表,有用户名和密码两列,用户名不能超过16个字符串,密码不能超过48个字符串,将用户名的列设为主键,将密码列默认设为空值。

091809245.jpg

数据表文件存储在对应的数据库目录下,默认在”/usr/lcoal/mysql/var/bbs/”目录下,每个数据表对应为三个文件,后缀分别为“.frm“,”.MYD”,“.MYI“。

094148494.jpg

drop table语句:用于删除库中的表,需要指定“库名.表名“做为参数;若只指定表名,需要先进表所在的数据库。

092817173.jpg

drop database语句:用于删除指定的数据库,需要指定库名作为参数。

093140895.jpg




3、管理表中的数据记录

insert into 语句:用于向表中插入新的数据记录。

列如:向刚才新建表中插入一条新的记录。

095000741.jpg

在插入新的数据记录时,如果这条记录完整包括表中所有字段的值,则插入语句中指定的字段部分可以省略。

095301346.jpg

select 语句:用于从指定的表中查找符合条件的数据记录。

格式:select 字段1,字段2, ... from 表名 where 条件表达式

095741733.jpg

如果要实现多表查询,则这些表之间一定要有关联(两张表中有相同的列),否则不可实现多表查询。

101830614.jpg

update 语句:用于修改,更新表中的数据记录。

在Mysql数据库中,数据用户的信息都保存在Mysql库中的user表中,我们可以通过修改user表中的记录来更改用户的信息。列如:将Mysql的管理员密码改掉。

102643232.jpg

delete 语句:用于删除表中指定的数据记录。

列如:删除bbs数据库中users表中lisi的记录。

103120818.jpg




管理Mysql数据库的用户,以及用户授权

grant 语句:专门用来设置数据库用户的访问权限。当指定的用户名不存在时,grant语句将会创建新的用户,否则grant语句用于修改用户的信息。

格式:grant 权限列表 on 库名.表名 to 用户名@来源地址 [ identified by ‘ 密码’ ]

权限类表:用于列出授权使用的各种数据库操作,以逗号进行分隔,all表示所有权限。

库名.表名:用于指定受权限操作的库和表的名称,可以使用”*“通配符。

用户名@来源地址:用于指定用户名和允许访问的地址,来源地址可以是域名,IP,还可以使用”%“通配符表示某个区域或网段。列如:”%.benet.com“、”192.168.1.%“等

列如:创建一个blog用户对于bbs数据库的所有访问权限。

110157270.jpg

show grants for语句:专门用来查看数据库用户的授权信息,通过for子句可指定查看的用户对象(必须与授权时使用的对象名称一致)。

格式:show grants for 用户名@来源地址

111405240.jpg

revoke 语句:用于撤销指定用户的数据库权限。

格式:revoke 权限列表 on 数据库名.表名 from 用户名@来源地址

112924492.jpg




Mysql数据库的备份与恢复

Mysql数据库的备份可以采用多种方式,列如直接打包数据库文件”/usr/lcoal/mysql/var/“,或者使用专用的导出工具Mysqldump来完成。下面我们就来使用专用的工具mysqldump工具来备份数据库。

备份数据库

通过mysqldump命令可以将指定的库,表或全部的库导出为sql脚本,便于该命令在不同版本的mysql服务器上使用。使用Mysqldump命令导出数据时,默认会在终端显示,若要保存到文件,还需要结合shell的”>“重定向输出操作。

备份表、格式:mysql [选项] 库名 [表名1] [表名2]  ... > /备份路径/备份文件名

备份库、格式:mysql [选项] --databases [表名1] [表名2] ... > /备份路径/备份文件名

备份所有库、格式:mysql [选项] --all-datebases  > /备份路径/备份文件名

常用的选项包括”-u“,”-p“,分别用于指定数据库用户名,密码。

列如:备份bbs数据库中users表

[root@localhost /]#mysqldump -u root -p bbs users > /tmp/users.sql

Enter password:       //输入密码

列如:备份bbs数据库

[root@localhost /]#mysqldump -u root -p --databases bbs > /tmp/bbs.sql

Enter password:       //输入密码

列如:备份整个Mysql中的所有数据库

[root@localhost /]#mysqldump -u root -p --opt --all-databases > /tmp/all-data.sql

Enter password:       //输入密码

若备份整个Mysql数据库时,导出的数据量较大,可以添加”--opt“选项以优化执行速度。


恢复数据库

使用mysqldump命令导出的sql备份脚本,在需要恢复时可以通过mysql命令对其进行导入操作。

格式:mysql [选项] [库名] [表名] < /备份路径/备份文件名

当备份文件中只包含表的备份,而不包含创建库的语句时,则执行导入操作时必须制定库名。

列如:将刚才备份的users表恢复到指定的数据库中。

列如:备份bbs库中users表

[root@localhost /]#mysql -u root -p test < /tmp/users.sql

Enter password:          //输入密码

若备份文件中已经包括完整的库信息,则执行导入操作时无需指定库名。

列如:将刚才备份的bbs数据库还原到数据库中(前提是需要将原有的bbs数据删掉,否则或重名)。

列如:备份bbs库中users表

[root@localhost /]#mysql -u root -p  > /tmp/bbs.sql

Enter password:      //输入密码


掌握上述的各种Mysql管理语句命令,就可以管理基本的数据库工作。如果需要了解更多的Mysql命令,可以参考http://dev.mysql.com/doc/refman/5.1/zh/在线手册。

至此Mysql的基本管理已经讲解完毕了,如果有什么地方写的不是很好,希望大家多多指教,在下感激不尽。



本文转自yun5277 51CTO博客,原文链接:http://blog.51cto.com/dengqi/1215716,如需转载请自行联系原作者


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
5月前
|
缓存 NoSQL Linux
在CentOS 7系统中彻底移除MongoDB数据库的步骤
以上步骤完成后,MongoDB应该会从您的CentOS 7系统中被彻底移除。在执行上述操作前,请确保已经备份好所有重要数据以防丢失。这些步骤操作需要一些基本的Linux系统管理知识,若您对某一步骤不是非常清楚,请先进行必要的学习或咨询专业人士。在执行系统级操作时,推荐在实施前创建系统快照或备份,以便在出现问题时能够恢复到原先的状态。
426 79
|
3月前
|
安全 关系型数据库 数据管理
阿里云数据库:构建高性能与安全的数据管理系统
阿里云数据库提供RDS、PolarDB、Tair等核心产品,具备高可用、弹性扩展、安全合规及智能运维等技术优势,广泛应用于电商、游戏、金融等行业,助力企业高效管理数据,提升业务连续性与竞争力。
|
4月前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
346 10
|
8月前
|
前端开发 数据库
会议室管理系统源码(含数据库脚本)
会议室管理系统源码(含数据库脚本)
137 0
|
6月前
|
存储 关系型数据库 MySQL
【赵渝强老师】使用select...into outfile语句备份MySQL
本文介绍了MySQL中使用`SELECT...INTO OUTFILE`语句将表数据导出为文本文件的方法。通过示例演示了如何备份员工表(emp)的数据,包括创建存储目录、设置权限、配置参数`secure_file_priv`以及解决相关错误的过程。字段分隔符和行终止符可自定义,确保数据格式符合需求。最后展示了备份文件的内容,验证操作成功。
414 36
|
5月前
|
SQL 监控 安全
数据库安全审计系统
Next-DBM数据库审计系统助力企业解决数据安全难题,提供统一身份管理、全方位监控、智能风险识别、完整审计追溯及精细化权限管控,有效防范数据泄露与内部威胁,保障企业核心资产安全,满足合规要求,提升运维效率。
|
6月前
|
存储 SQL 关系型数据库
【赵渝强老师】使用mysqldump备份MySQL
本文介绍了 MySQL 自带的逻辑备份工具 mysqldump 的使用方法。通过 mysqldump,可以将数据库中的数据转换为对应的 SQL 插入语句,便于备份和还原。文章详细说明了如何备份所有数据库、指定数据库及特定表,排除某些表不备份的操作,以及删除数据库后如何通过备份文件恢复数据。同时提供了视频讲解和具体命令示例,帮助用户更好地理解和应用该工具。
263 5
|
7月前
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
510 17
|
6月前
|
存储 SQL 关系型数据库
【赵渝强老师】使用mydumper备份MySQL
本文介绍了使用mydumper工具进行MySQL数据库备份与恢复的操作方法。相比单线程工作的mysqldump,mydumper支持多线程,速度提升可达10倍。其功能包括事务性表快照、快速压缩、导出binlog等,并提供详细的参数说明和操作步骤。文章通过实例演示了安装mydumper、创建存储目录、全库备份、指定数据库及表备份、删除数据库以及使用myloader恢复数据的完整流程,并附带视频讲解,帮助用户更好地理解和应用该工具。
265 0

推荐镜像

更多