mysql数据库管理-参数管理

1 查询参数

mysql> show variables like 'sort%';
+------------------+--------+
| Variable_name    | Value  |
+------------------+--------+
| sort_buffer_size | 262144 |
+------------------+--------+
1 row in set (0.04 sec)

 

方式2 

mysql> select @@sort_buffer_size

2 设置参数

mysql> set @@sort_buffer_size =300000;   --会话生效。
Query OK, 0 rows affected (0.01 sec)

mysql> select @@sort_buffer_size
    -> ;
+--------------------+
| @@sort_buffer_size |
+--------------------+
|             300000 |
+--------------------+
1 row in set (0.03 sec)

mysql> use monidb
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> ls
    -> 
    -> 
    -> ;
ERROR 1064 (42000): 
mysql> 
mysql> 
mysql> select @@sort_buffer_size
    -> ;
+--------------------+
| @@sort_buffer_size |
+--------------------+
|             262144 |
+--------------------+
1 row in set (0.00 sec)

mysql> 

sql_mode

SET autocommit=1
Set sql_mode='NO_ENGINE_SUBSITUTION,STRICT_TRANS_TABLES'

 

STRICT_TRANS_TABLES 设置它,表示启用严格模式。 
注意 STRICT_TRANS_TABLES 不是几种策略的组合,单独指 INSERTUPDATE出现少值或无效值该如何处理:

  1. 前面提到的把 '' 传给int,严格模式下非法,若启用非严格模式则变成0,产生一个warning

  2. Out Of Range,变成插入最大边界值

  3. A value is missing when a new row to be inserted does not contain a value for a non-NULL column that has no explicit DEFAULT clause in its definition

 

max_connections

MySQL的最大连接数,增加该值增加mysqld要求的文件描述符的数量。连接请求量大时,建议调高此值调的越高,内存开销越大。

mysql> select @@max_connections;
+-------------------+
| @@max_connections |
+-------------------+
|              1500 |
+-------------------+
1 row in set (0.00 sec)

 

每个连接的缓存参数

① Sort_buffer_size

每个需要进行排序的线程分配该大小的一个缓冲区。增加这值加速ORDER BY或GROUP BY操作。默认数值是2097144(2M),可改为16777208 (16M)。

② Join_buffer_size

联合查询操作所能使用的缓冲区大小。

record_buffer_sizeread_rnd_buffer_sizesort_buffer_size,join_buffer_size为每个线程独占,也就是说,如果有100个线程连接,则占用为16M*100。

③ table_open_cache

表高速缓存的大小。每当MySQL访问一个表时,如果在表缓冲区中还有空间,该表就被打开并放入其中,这样可以更快地访问表内容。

mysql> show global status like 'open%tables%';

+-----------------+-------+

| Variable_name| Value |

+-----------------+-------+

| Open_tables| 1024 |

| Opened_tables| 1465 |

+-----------------+-------+

mysql>show variables like 'table_open_cache';

+----------------------+-------+

|Variable_name|Value|

+----------------------+-------+

|table_open_cache|1024|

+----------------------+-------+

④ tmp_table_size

临时表大小。通过设置tmp_table_size选项来增加一张临时表的大小,例如做高级GROUP BY操作生成的临时表。

mysql>showglobal statuslike' created_tmp%';

+-----------------------------+----------+

|Variable_name|Value |

+-----------------------------+----------+

|Created_tmp_disk_tables|21197|

| Created_tmp_files| 58|

| Created_tmp_tables| 1771587 |

+-----------------------------+----------+

mysql> show variables like 'tmp_table_size';

+-----------------+------------+

| Variable_name| Value |

+-----------------+------------+

| tmp_table_size| 16777216 |

+-----------------+------------+

⑤ thread_cache_size

可以复用的保存在缓冲区中的线程的数量。当客户端断开之后,服务器处理此客户的线程将会缓存起来以响应下一个客户而不是销毁(前提是缓存数未达上限)。

mysql>show global status like 'Thread%';

+----------------------+-------+

|Variable_name|Value|

+----------------------+-------+

|Threads_cached|31|

|Threads_connected|239|

|Threads_created|2914|

|Threads_running|4|

+----------------------+-------+

mysql>show variables like 'thread_cache_size';

+---------------------+-------+

|Variable_name|Value|

+---------------------+-------+

|thread_cache_size|32|

+---------------------+-------+

 

4)配置InnoDB的参数

① Innodb_buffer_pool_size

InnoDB使用该参数指定大小的内存来缓冲数据和索引,其对InnoDB的重要性等于key_buffer_size对MyISAM的重要性。

② Innodb_log_buffer_size

Innodb_log缓存大小,一般为1-8M,默认为1M,对于较大的事务,可以增大缓存大小。可设置为4M或8M。

innodb_lock_wait_timeout  

等待锁超时回滚事务:

直观方法是在两个事务相互等待时,当一个等待时间超过设置的某一阀值时,对其中一个事务进行回滚,另一个事务就能继续执行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Navicat for MySQL是一个强大的MySQL数据库管理和开发工具。Navicat为专业开发者提供了一套强大的足够尖端的工具,但它对于新用户仍然是易于学习。使用了极好的图形用户界面(GUI),可以让你用一种安全和更为容易的方式快速和容易地创建、组织、存取和共享信息。基于Windows平台,为MySQL量身订作,提供类似于MsSQL的用管理界面工具。此解决方案的出现,将解放PHP,J2EE等程序员以及数据库设计者、管理者的大脑,降低开发正本,为您带来更高的开发效率。用户可完全控制 MySQL 数据库和显示不同的管理资料,包括一个多功能的图形化管理用户和访问权限的管理工具,方便将数据从一个数据库移转到另一个数据库中(Local to Remote、Remote to Remote、Remote to Local),进行档案备份。 Navicat 支援 Unicode,以及本地或遥距 MySQL 伺服器多连线,用户可浏览数据库、建立和删除数据库、编辑数据、建立或执行 SQL queries、管理用户权限(安全设定)、将数据库备份/复原、汇入/汇出数据(支援 CSV, TXT, DBF 和 XML 档案种类)等。新版与任何 MySQL 5.0.x 伺服器版本兼容,支援 Triggers,以及BINARY VARBINARY/BIT数据种类等的风范。 Navicat for MySQL主要功能 -表单检视(新增) -虚拟群组(新增) -自动完码(新增) -排程工作结果自动传送电子邮件(新增) -查询、 检视及事件自动完码(新增) -报告可汇出成各种格式,PDF, Excel, HTML 等(新增) -超时自动重新连接到SQL服务器 -数据和结构同步 -导出注册文件以传送到另外的计算机 -新查询创建器--为不同的数据库创建查询 -查询参数 -SQL控制台 -建立查看 -SSH密钥 -Navicat支持所有MySQL版本 -SSH及HTTP隧道 -汇入/汇出数据 -报表设计及建立
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值