Home  >  Article  >  Database  >  MySQL常用技巧都包括哪些?

MySQL常用技巧都包括哪些?

WBOY
WBOYOriginal
2016-06-07 16:14:32886browse

以下的文章主要介绍的是MySQL常用技巧,我们主要是讲述七个实际应用技巧,如果你对这七个MySQL常用技巧感兴趣的话,你就可以浏览以下的文章了,望会给你带来一些帮助在此学习方面。 1)MySQL常用技巧之一,用户权限管理最好是细分到DB级 或 Table级,不要轻

以下的文章主要介绍的是MySQL常用技巧,我们主要是讲述七个实际应用技巧,如果你对这七个MySQL常用技巧感兴趣的话,你就可以浏览以下的文章了,望会给你带来一些帮助在此学习方面。

1)MySQL常用技巧之一,用户权限管理最好是细分到DB级 或 Table级,不要轻易开通全局权限;

2)MySQL常用技巧之二,用grant 和 revoke,进行用户授权和收权;

<ol class="dp-xml">
<li class="alt">MySQL<span><span class="tag">></span><span> grant select on db.* to user@host identified by ‘passwd’;  </span></span>
</li>
<li>MySQL<span class="tag">></span><span> revoke all on db.* from user@host;  </span>
</li>
<li class="alt">MySQL<span class="tag">></span><span> flush privileges; </span>
</li>
</ol>

注意:对用户权限作变更后需运行flush使变更生效;

3)MySQL常用技巧之三,查看服务器运行状况的几个重要命令;

show status; 显示系统的运行状态

show variables; 显示系统运行的参数设置与环境变量

show processlist; 显示现有的访问连接;

对master slave系统还有:show master/slave status;

4)MySQL常用技巧之四,设置最大的并发响应连接数、等待响应队列的最大等待连接数(上限与具体操作系统有关)、非活动连接超时时间

最大连接数

查看:MySQL> show variables like ‘max_connections’;

设置:MySQL> set global max_connections = 200;

默认为100,若设置为0,则表示不作限制;

瞬时并发等待连接数

查看:MySQL> show variables like ‘back_log’;

设置:MySQL> set global back_log = 200;

默认为50;

非活动连接超时时间

MySQL> set wait_timeout = 3600;

默认为28800,即8小时,单位秒;

5)MySQL常用技巧之五,表优化(碎片整理)

倘若一个数据量很大的表进行了大量的修改,那么可以通过命令

MySQL> optimize table table_name;

来达到碎片整理的目的;

6)MySQL常用技巧之六,使用MySQLhotcopy进行数据库文件热备份

/home/MySQL/bin/MySQLhotcopy db_name[./table_regex/] [new_db_name | direc tory]

示例:

/home/MySQL/bin/MySQLhotcopy -u root -p ‘xxxx’ test./^tt$/ ./

注意:MySQLhotcopy是一个perl程序,需要DBI和DBD perl模块的支持

7)MySQL常用技巧之七,错误日志与binlog

错误记录日志一般是在数据目录下,如:

var/.err

binlog可以记录数据库上发生的所有操作记录,通过my.cnf中的log-bin选项来开启,如果被注释就代表关闭,binlog的内容可以通过以下命令来查看:

<ol class="dp-xml"><li class="alt">MySQL<span>binlog [options] log-files </span>
</li></ol>

附录 权限名称与描述列表

<ol class="dp-xml">
<li class="alt"><span><span>Privilege  </span></span></li>
<li><span>Meaning  </span></li>
<li class="alt"><span>ALL [PRIVILEGES]  </span></li>
<li><span>Sets all simple privileges except GRANT OPTION  </span></li>
<li class="alt"><span>ALTER  </span></li>
<li><span>Allows use of ALTER TABLE  </span></li>
<li class="alt"><span>CREATE  </span></li>
<li><span>Allows use of CREATE TABLE  </span></li>
<li class="alt"><span>CREATE TEMPORARY TABLES  </span></li>
<li><span>Allows use of CREATE TEMPORARY TABLE  </span></li>
<li class="alt"><span>DELETE  </span></li>
<li><span>Allows use of DELETE  </span></li>
<li class="alt"><span>DROP  </span></li>
<li><span>Allows use of DROP TABLE  </span></li>
<li class="alt"><span>EXECUTE  </span></li>
<li><span>Not implemented  </span></li>
<li class="alt"><span>FILE  </span></li>
<li><span>Allows use of SELECT … INTO OUTFILE and LOAD DATA INFILE  </span></li>
<li class="alt"><span>INDEX  </span></li>
<li><span>Allows use of CREATE INDEX and DROP INDEX  </span></li>
<li class="alt"><span>INSERT  </span></li>
<li><span>Allows use of INSERT  </span></li>
<li class="alt"><span>LOCK TABLES  </span></li>
<li><span>Allows use of LOCK TABLES on tables for which you have the SELECT privilege  </span></li>
<li class="alt"><span>PROCESS  </span></li>
<li><span>Allows use of SHOW FULL PROCESSLIST  </span></li>
<li class="alt"><span>REFERENCES  </span></li>
<li><span>Not implemented  </span></li>
<li class="alt"><span>RELOAD  </span></li>
<li><span>Allows use of FLUSH  </span></li>
<li class="alt"><span>REPLICATION CLIENT  </span></li>
<li><span>Allows the user to ask where slave or master servers are  </span></li>
<li class="alt"><span>REPLICATION SLAVE  </span></li>
<li><span>Needed for replication slaves (to read binary log events from the master)  </span></li>
<li class="alt"><span>SELECT  </span></li>
<li><span>Allows use of SELECT  </span></li>
<li class="alt"><span>SHOW DATABASES  </span></li>
<li><span>SHOW DATABASES shows all databases  </span></li>
<li class="alt"><span>SHUTDOWN  </span></li>
<li>
<span>Allows use of </span>MySQL<span>admin shutdown  </span>
</li>
<li class="alt"><span>SUPER  </span></li>
<li><span>Allows use of CHANGE MASTER, KILL, PURGE MASTER LOGS, and SET GLOBAL statements, </span></li>
<li>
<span>the </span>MySQL<span>admin debug command; allows you to connect (once) even if max_connections is reached  </span>
</li>
<li class="alt"><span>UPDATE  </span></li>
<li><span>Allows use of UPDATE  </span></li>
<li class="alt"><span>USAGE  </span></li>
<li><span>Synonym for “no privileges”  </span></li>
<li class="alt"><span>GRANT OPTION  </span></li>
<li><span>Allows privileges to be granted  </span></li>
</ol>

以上的相关内容就是对MySQL常用技巧的介绍,望你能有所收获。


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn