mysql 开发进阶篇系列 31 工具篇(mysql连接工具与MyISAM表压缩工具)

Posted mrhsr

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 开发进阶篇系列 31 工具篇(mysql连接工具与MyISAM表压缩工具)相关的知识,希望对你有一定的参考价值。

一.mysql 连接工具  

  在mysq提供的工具中,DBA使用最频繁的莫过于mysql。这里的mysql是指连接数据库的客户端工具。

  1.1 连接选项

-u, -- user=name 指定用户名
-p ,--password[=name] 指定密码
-h ,--host=name 指定服务器IP或者域名
-p, --port=# 指定连接端口

在实际连接中命令如下:mysql -u 用户名 -p 密码
[[email protected] ~]#  mysql -u root -p
-- 完整的连接命令如下
[[email protected] ~]#  mysql -u root -p -h 172.168.18.201 -P 3306
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or g.

  1.2 执行选项
    通过 "-e,--execute=name 执行sql语句并退出" 此选项不需要连接到mysql数据库后再执行,对于一些批处理脚本很方便,下面是从客户端直接查询mysql数据库中user表的User和Host字段:

[[email protected] ~]#  mysql -u root -p  mysql -e "select User,Host from user"
Enter password: 

    技术分享图片
  连接多个sql 语句用英文分号隔开如   select User,Host from user; select xxx。

二. myisampack(MyISAM表压缩工具)

  myisampack是一个表压缩工具。在压缩之前需要确认mysqld已关闭或者要压缩的表不会有其他的sql操作;而且压缩过程会很占用cpu资源,建议在服务器空闲的状态进行。

  可以将数据文件压缩到40%-70%,当以后使用表时,解压缩列需要的信息被读入内存。当访问具体的记录时性能会更好,因为你只需要解压缩一个记录。压缩后的表也将成为一个只读表,不能进行DML操作。

--压缩前,查看test库中表的数据文件大小,其中有个a表是myisam类型, 将压缩MYD文件

    [[email protected] ~]# cd /usr/local/mysql/data

    [[email protected] data]# cd test
    [[email protected] test]# ls -ltr
    总用量 24
    -rw-r----- 1 mysql mysql   61 8月  24 16:43 db.opt
    -rw-r----- 1 mysql mysql 8566 8月  28 14:29 a.frm
    -rw-r----- 1 mysql mysql 1024 8月  28 14:32 a.MYI
    -rw-r----- 1 mysql mysql  456 8月  28 14:32 a.MYD
-- myisampack先到基地址里面找到该命令(用rpm安装可以在根目录下直接用该命令)
[[email protected] ~]# cd /usr/local/mysql/bin

技术分享图片

-- 压缩a表,提示太小无法压缩
[[email protected] bin]# ./myisampack /usr/local/mysql/data/test/a
/usr/local/mysql/data/test/a is too small to compress
如果压缩成功,该表就只能读,不能写。可以在查看MYD文件大小。






以上是关于mysql 开发进阶篇系列 31 工具篇(mysql连接工具与MyISAM表压缩工具)的主要内容,如果未能解决你的问题,请参考以下文章

mysql 开发进阶篇系列 36 工具篇mysqlshow(数据库对象查看工具)

MySQL的进阶实战篇

mysql 开发进阶篇系列 5 SQL 优化

mysql 开发进阶篇系列 6 锁问题

mysql 开发进阶篇系列 55 权限与安全(安全事项 )

mysql 开发进阶篇系列 41 mysql日志之慢查询日志