我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何进行MySQL管理基础中的维护、备份和恢复

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何进行MySQL管理基础中的维护、备份和恢复

如何进行MySQL管理基础中的维护、备份和恢复,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

1.日志记录

   MySQL的日志文件可用于分析性能和排查问题,保存在与数据文件相同的目录下。有以下几种不同类型日志文件:

日志文件类型        默认文件名        mysqld选项        作用

错误日志        <主机名>.err        log-error        记录服务器上发生的每个错误。
一般查询日志        <主机名>.log        log            记录客户机发给服务器的每个查询的踪迹。
慢查询日志        <主机名>-slow.log    log-slow-queries    记录执行时间超过long_query_time值的所有查询。
二进制日志        <主机名>-bin-######    log-bin            记录更新了或已经潜在更新了数据的所有语句。

注:log-bin选项中的“######”是二进制日志文件的编号,每次生成新日志文件会自动增加。如果指定日志文件名,MySQL会只取第一个“.”前面的部分,并自动添加6位数字编号,从000001开始。

   可以使用FLUSH LOGS命令刷新日志,错误日志的内容写入相同路径下的*.err-old文件,然后*.err文件被清空;一般查询日志和慢查询日志中会生成一条包含mysqld信息和列标题的记录,将新旧记录分割开;当前的二进制日志会被关闭,使用新的顺序编号创建新日志。

[@more@]2.检查和修理表

   检查表可以使用myisamchk工具或CHECK TABLE命令,前者只能用于MYISAM表,后者适用于所有表。myisamchk可以分别使用-F、-m、-e、-C、-w选项执行快速检查、中速检查、扩展检查(最慢)、变更检查、等待检查,CHECK TABLE命令可以添加FAST、MEDIUM、EXTENDED等关键字来指定检查的种类。
   检查表时如果发现错误,就应该对其进行修理。最好先复制存在问题的表,以便尝试不同的修理方法。myisamchk工具使用-r选项,可以修理损坏的表,与检查表时相同,被修理的表不能被锁定。另外,还可以使用-o、-q选项执行不同类型的修理操作。还可以使用REPAIR TABLE命令对表进行修复,类似地,可以添加QUICK或EXTENDED关键字设置修理操作的类型。
   myiasmchk工具要求表不能被锁定,所以最好在服务器关闭的情况下使用,而CHECK TABLE和REPAIR TABLE命令则必须在服务器运行时使用。
   此外,使用OPTIMIZE TABLE命令可以对表进行优化,整理数据文件碎片,对索引页进行排序,更新表的统计信息。需要注意的是,优化操作会锁定表,过程中客户机无法访问。


3.备份和恢复

   使用mysqldump工具可以对表或数据库进行备份。执行备份操作的用户应在进行转储的表或数据库上具有select和lock tables权限。

mysql> show grants for ggyy@localhost;
+-------------------------------------------------------------------------------------------------------------+
| Grants for ggyy@localhost                                                                                   |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'ggyy'@'localhost' IDENTIFIED BY PASSWORD '*484FFAA42C12F40931C794D33A11B7F075B91467' |
| GRANT SELECT, LOCK TABLES ON `ggyy`.* TO 'ggyy'@'localhost'                                                 |
+-------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)


   下面是一些转储表的例子:

<1>转储ggyy数据库中的blob_text_test表,将结果重定向到一个指定的文件。

mysqldump ggyy blob_text_test -u ggyy -p > E:ackupMySQLlob_text_test.sql

<2>转储ggyy数据库中的char_test表,使结果直接输出到一个指定的文件。( -r 选项用于在MSDOS环境中使输出文件行尾只有换行符,而不是换行符+回车符。)

mysqldump ggyy char_test -u ggyy -p -r E:ackupMySQLchar_test.sql

<3>转储ggyy数据库中的多个表,将结果重定向到一个指定的文件。

mysqldump ggyy date_time_test float_test int_test members members_temp test_crttb test_crttb2 test_crttb3 test_crttb4 test_crttb5 ts_dt_test -u ggyy -p > E:ackupMySQLggyy-tables.sql

<4>转储test数据库中的namelist和oraleng表,只产生少量的输出,将结果重定向到一个指定的文件。( --compact 选项使转储结果中不包含DROP TABLE、ALTER TABLE ... DISABLE KEYS、LOCK TABLES等语句和“--”开头的注释。)

mysqldump test namelist oraleng --compact -u root -p > E:ackupMySQL amelist+oraleng.sql

<5>只转储test数据库中test表的定义,将结果重定向到一个指定的文件。

mysqldump test test -d -u root -p > E:ackupMySQL est_def.sql

<6>只转储test数据库中test表的数据,将结果重定向到一个指定的文件。

mysqldump test test -t -u root -p > E:ackupMySQL est_data.sql

   当然还可以对整个数据库进行转储,语法是 mysqldump

。如果同时转储多个数据库可以使用 -B 选项,例如转储ggyy和test数据库:

mysqldump -B ggyy test -u root -p -r E:ackupMySQLmysqlback_20100319.sql

   mysqldump工具生成的包含SQL语句的文件,可以使用mysql命令行工具运行,从而达到恢复数据的目的。执行恢复操作的用户应该在进行导入的数据库上具有drop、create、alter、insert等权限。

mysql> show grants for ggyy@localhost;
+-------------------------------------------------------------------------------------------------------------+
| Grants for ggyy@localhost                                                                                   |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'ggyy'@'localhost' IDENTIFIED BY PASSWORD '*484FFAA42C12F40931C794D33A11B7F075B91467' |
| GRANT SELECT, INSERT, CREATE, DROP, ALTER, LOCK TABLES ON `ggyy`.* TO 'ggyy'@'localhost'                    |
+-------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)


   下面的命令可以将之前转储的ggyy数据库中的表导入到ggyy数据库中:

mysql ggyy -u ggyy -p < E:ackupMySQLlob_text_test.sql

mysql ggyy -u ggyy -p < E:ackupMySQLchar_test.sql

mysql ggyy -u ggyy -p < E:ackupMySQLggyy-tables.sql

   另外,在mysql提示符下使用SOURCE命令同样可以进行恢复。下面的语句可以将之前转储的test数据库中的表导入到test数据库中:

source E:ackupMySQL amelist+oraleng.sql

source E:ackupMySQL est_def.sql

source E:ackupMySQL est_data.sql

undefinedundefinedundefinedundefinedundefinedundefined

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何进行MySQL管理基础中的维护、备份和恢复

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL中如何进行数据备份和恢复

MySQL 中可以通过使用 mysqldump 工具来进行数据备份和恢复操作。以下是备份和恢复的步骤:数据备份:打开命令行工具并登录到 MySQL 数据库。使用以下命令备份整个数据库:mysqldump -u username -p d
MySQL中如何进行数据备份和恢复
2024-03-06

MySQL中如何进行备份和恢复数据

在MySQL中,可以使用mysqldump命令来备份数据库,使用mysql命令来恢复数据库。备份数据:mysqldump -u username -p database_name > backup.sql恢复数据:mysql -u u
MySQL中如何进行备份和恢复数据
2024-04-09

如何在MySQL中进行数据备份和恢复

在MySQL中进行数据备份和恢复可以使用以下几种方法:使用mysqldump命令进行数据备份:备份数据库:mysqldump -u -p > backup.sql备
如何在MySQL中进行数据备份和恢复
2024-04-09

MySQL中如何进行数据备份和灾难恢复

在MySQL中,可以使用以下方法进行数据备份和灾难恢复:数据备份:使用mysqldump命令:可以通过命令行使用mysqldump工具将数据库的结构和数据备份到一个SQL文件中。示例命令如下:mysqldump -u username -p
MySQL中如何进行数据备份和灾难恢复
2024-03-06

如何使用MySQL进行数据备份和恢复?

如何使用MySQL进行数据备份和恢复?数据库中的数据对于任何企业或个人而言都是非常重要的。由于各种原因(如硬件故障、人为错误或恶意攻击等),数据可能会丢失或损坏。因此,定期进行数据库备份是非常重要的。MySQL作为最受欢迎的开源关系型数据库
2023-10-22

CentOS中如何进行系统备份和恢复

在CentOS中进行系统备份和恢复通常使用工具例如tar、rsync或者dd来实现。下面是使用这些工具进行系统备份和恢复的步骤:使用tar备份系统:备份系统:使用以下命令将整个系统备份到一个tar归档文件中:tar cvpzf backup
CentOS中如何进行系统备份和恢复
2024-03-13

SQLite中如何进行数据备份和恢复

在SQLite中进行数据备份和恢复可以采用以下方法:数据备份:使用SQLite的命令行工具进行数据备份:sqlite3 original.db .dump > backup.sql这将会将数据库original.db的内容导出到一个名为
SQLite中如何进行数据备份和恢复
2024-03-14

MySQL如何使用使用Xtrabackup进行备份和恢复

目录1 备份1.1 全备1.2 增备2 备份恢复2.1 准备数据2.2 进行恢复3 目录结构4 备份脚本4.1 脚本4.2 配置文件5 恢复脚本5.1 脚本5.2 配置文件1 备份 进行备份前需要先创建备份用户,直接使用 root 用户进行
2022-05-27

如何在Redis中进行数据备份和恢复

在Redis中进行数据备份和恢复可以通过以下两种方法:使用命令行工具进行备份和恢复:备份数据:可以使用Redis提供的命令行工具redis-cli来执行SAVE命令,将当前数据库中的数据保存到一个.rdb文件中。命令如下:$ redis-c
如何在Redis中进行数据备份和恢复
2024-04-09

在Cassandra中如何进行数据备份和恢复

在Cassandra中进行数据备份和恢复通常有两种方法:手动备份和恢复以及使用Cassandra的内置工具进行备份和恢复。手动备份和恢复:备份数据:可以通过使用COPY命令将数据导出到CSV文件中进行备份。可以使用以下命令备份数据:COP
在Cassandra中如何进行数据备份和恢复
2024-04-09

编程热搜

目录