mysql 数据库维护

mysql 数据库维护

数据库数据备份

  • 命令行实用程序mysqldump

    备份数据库内容到外部文件。

  • 命令行实用程序mysqlhotcopy

    从一个数据库复制所有数据(并非所有数据库引擎都支持这个实用程序)。

  • BACKUP TABLE或者SELECT INTO OUTFILE

    转储所有数据到某个外部文件。该系统文件必须不存在==?==。

    数据可以用RESTORE TABLE来复原。

首先刷新未写数据 为了保证所有数据被写到磁盘(包括索引数据),可能需要在进行备份前使用FLUSH TABLES语句


数据库维护

ANALYZE TABLE,用来检查表键是否正确。

mysql> ANALYZE TABLE orders;
+--------------+---------+----------+----------+
| Table        | Op      | Msg_type | Msg_text |
+--------------+---------+----------+----------+
| crash.orders | analyze | status   | OK       |
+--------------+---------+----------+----------+
1 row in set (0.02 sec)

CHECK TABLE,用来针对许多问题对表进行检查。

mysql> CHECK TABLE orders;
+--------------+-------+----------+----------+
| Table        | Op    | Msg_type | Msg_text |
+--------------+-------+----------+----------+
| crash.orders | check | status   | OK       |
+--------------+-------+----------+----------+
1 row in set (0.00 sec)

mysql> CHECK TABLE orders, customers;
+-----------------+-------+----------+----------+
| Table           | Op    | Msg_type | Msg_text |
+-----------------+-------+----------+----------+
| crash.orders    | check | status   | OK       |
| crash.customers | check | status   | OK       |
+-----------------+-------+----------+----------+
2 rows in set (0.01 sec)

mysql> CHECK TABLE orders FAST;
+--------------+-------+----------+----------+
| Table        | Op    | Msg_type | Msg_text |
+--------------+-------+----------+----------+
| crash.orders | check | status   | OK       |
+--------------+-------+----------+----------+
1 row in set (0.04 sec)

mysql> CHECK TABLE orders EXTENDED;
+--------------+-------+----------+----------+
| Table        | Op    | Msg_type | Msg_text |
+--------------+-------+----------+----------+
| crash.orders | check | status   | OK       |
+--------------+-------+----------+----------+
1 row in set (0.00 sec)

在MyISAM表上还对索引进行检查。
CHECK TABLE支持一系列的用于MyISAM表的方式。
CHANGED检查自最后一次检查以来改动过的表,
EXTENDED执行最彻底的检查,
FAST只检查未正常关闭的表,
MEDIUM检查所有被删除的链接并进行键检验,
QUICK只进行快速扫描。


诊断启动问题

手动启动服务器,执行mysqld命令启动。(d 的全拼应该是 daemon,是个服务。一般服务就用d结尾。)
mysql 和 mysqld 的区别

 --help显示帮助——一个选项列表;
 --safe-mode装载减去某些最佳配置的服务器;
 --verbose显示全文本消息(为获得更详细的帮助消息与–help
联合使用);
 --version显示版本信息然后退出。


查看日志文件

(mysqld命令)

  • 错误日志

    记录错误,包括启动错误和关闭错误以及任意关键的错误。

    日志名一般为:hostname.err,在data目录中。

    日志名可用--log-error命令行选项更改。

  • 查询日志

    记录所有mysql活动,用于debug很舒服。

    该日志文件,可能会很快变得非常大,因此不该长期使用。

    日志名一般为:hostname.log,位于data目录。

    日志名可用--log命令行选项更改。

  • 二进制日志

    记录更新过数据(或可能更新过数据)的所有语句。

    日志名一般为:hostname-bin,位于data目录。

    日志名可用--log-bin命令行选项更改。

    mysql 5版本中添加的,以前的是更新日志。

  • 缓慢查询日志

    记录执行缓慢的任何查询。

    对数据库优化特别有用。

    日志名为:host-slow.log,位于data目录中。

    日志名可用--log-slow-queries命令行选项更改。

FLUSH LOGS语句,刷新和重新开始所有日志文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值