MYSQL环境变量设置方法


Posted in PHP onJanuary 15, 2007

mysql环境变量设置(windows环境)

1、对于命令控来说,在cmd命令下行下操作很方便,但有时需要直接在命令行床空执行mysql这样的命令,会出现”mysql不是内部或外部命令“这样的错误提示,原因是mysql其实是一个exe文件,存放于myql安装路径/bin下,因此需要将mysql的安装路径配置到path环境变量中,如此以后就不用每次都cd到mysql路径下了;

2、设置完成后我们再试试看-cmd-->mysql
已经连接上mysql了,接下来我们可以使用dml、sql语言来创建我们自己的数据库了;

3、首先,要创建一个数据库名字为test_user;
创建成功!

4、创建一个张数据表,使用脚本即可。
注意,创建table之前一定要use databasename;

你能用这个命令得到mysqld服务器缺省缓冲区大小: 

shell> mysqld --help 

这个命令生成一张所有mysqld选项和可配置变量的表。输出包括缺省值并且看上去象这样一些东西: 

Possible variables for option --set-variable (-O) are: 
back_log???????current value: 5 
connect_timeout??? current value: 5 
delayed_insert_timeout?current value: 300 
delayed_insert_limit?current value: 100 
delayed_queue_size??current value: 1000 
flush_time??????current value: 0 
interactive_timeout? current value: 28800 
join_buffer_size???current value: 131072 
key_buffer_size??? current value: 1048540 
lower_case_table_names?current value: 0 
long_query_time??? current value: 10 
max_allowed_packet??current value: 1048576 
max_connections??? current value: 100 
max_connect_errors??current value: 10 
max_delayed_threads? current value: 20 
max_heap_table_size? current value: 16777216 
max_join_size???? current value: 4294967295 
max_sort_length??? current value: 1024 
max_tmp_tables????current value: 32 
max_write_lock_count?current value: 4294967295 
net_buffer_length?? current value: 16384 
query_buffer_size?? current value: 0 
record_buffer???? current value: 131072 
sort_buffer????? current value: 2097116 
table_cache????? current value: 64 
thread_concurrency??current value: 10 
tmp_table_size????current value: 1048576 
thread_stack?????current value: 131072 
wait_timeout?????current value: 28800 

如果有一个mysqld服务器正在运行,通过执行这个命令,你可以看到它实际上使用的变量的值: 

shell> mysqladmin variables 

每个选项在下面描述。对于缓冲区大小、长度和栈大小的值以字节给出,你能用于个后缀“K”或“M” 指出以K字节或兆字节显示值。例如,16M指出16兆字节。后缀字母的大小写没有关系;16M和16m是相同的。 

你也可以用命令SHOW STATUS自一个运行的服务器看见一些统计。见7.21 SHOW语法(得到表、列的信息)。 

back_log 
要求MySQL能有的连接数量。当主要MySQL线程在一个很短时间内得到非常多的连接请求,这就起作用,然后主线程花些时间(尽管很短)检查连接并且启动一个新线程。back_log值指出在MySQL暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中。只有如果期望在一个短时间内有很多连接,你需要增加它,换句话说,这值对到来的TCP/IP连接的侦听队列的大小。你的操作系统在这个队列大小上有它自己的限制。 Unix listen(2)系统调用的手册页应该有更多的细节。检查你的OS文档找出这个变量的最大值。试图设定back_log高于你的操作系统的限制将是无效的。 
connect_timeout 
mysqld服务器在用Bad handshake(糟糕的握手)应答前正在等待一个连接报文的秒数。 
delayed_insert_timeout 
一个Insert DELAYED线程应该在终止之前等待Insert语句的时间。 
delayed_insert_limit 
在插入delayed_insert_limit行后,Insert DELAYED处理器将检查是否有任何Select语句未执行。如果这样,在继续前执行允许这些语句。 
delayed_queue_size 
应该为处理Insert DELAYED分配多大一个队列(以行数)。如果排队满了,任何进行Insert DELAYED的客户将等待直到队列又有空间了。 
flush_time 
如果这被设置为非零值,那么每flush_time秒所有表将被关闭(以释放资源和sync到磁盘)。 
interactive_timeout 
服务器在关上它前在一个交互连接上等待行动的秒数。一个交互的客户被定义为对mysql_real_connect()使用CLIENT_INTERACTIVE选项的客户。也可见wait_timeout。 
join_buffer_size 
用于全部联结(join)的缓冲区大小(不是用索引的联结)。缓冲区对2个表间的每个全部联结分配一次缓冲区,当增加索引不可能时,增加该值可得到一个更快的全部联结。(通常得到快速联结的最佳方法是增加索引。) 
key_buffer_size 
索引块是缓冲的并且被所有的线程共享。key_buffer_size是用于索引块的缓冲区大小,增加它可得到更好处理的索引(对所有读和多重写),到你能负担得起那样多。如果你使它太大,系统将开始换页并且真的变慢了。记住既然MySQL不缓存读取的数据,你将必须为OS文件系统缓存留下一些空间。为了在写入多个行时得到更多的速度,使用LOCK TABLES。见7.24LOCK TABLES/UNLOCK TABLES语法。 
long_query_time 
如果一个查询所用时间超过它(以秒计),Slow_queries记数器将被增加。 
max_allowed_packet 
一个包的最大尺寸。消息缓冲区被初始化为net_buffer_length字节,但是可在需要时增加到max_allowed_packet个字节。缺省地,该值太小必能捕捉大的(可能错误)包。如果你正在使用大的BLOB列,你必须增加该值。它应该象你想要使用的最大BLOB的那么大。 
max_connections 
允许的同时客户的数量。增加该值增加mysqld要求的文件描述符的数量。见下面对文件描述符限制的注释。见18.2.4 Too many connections错误。 
max_connect_errors 
如果有多于该数量的从一台主机中断的连接,这台主机阻止进一步的连接。你可用FLUSH HOSTS命令疏通一台主机。 
max_delayed_threads 
不要启动多于的这个数字的线程来处理Insert DELAYED语句。如果你试图在所有Insert DELAYED线程在用后向一张新表插入数据,行将被插入,就像DELAYED属性没被指定那样。 
max_join_size 
可能将要读入多于max_join_size个记录的联结将返回一个错误。如果你的用户想要执行没有一个Where子句、花很长时间并且返回百万行的联结,设置它。 
max_sort_length 
在排序BLOB或TEXT值时使用的字节数(每个值仅头max_sort_length个字节被使用;其余的被忽略)。 
max_tmp_tables 
(该选择目前还不做任何事情)。一个客户能同时保持打开的临时表的最大数量。 
net_buffer_length 
通信缓冲区在查询之间被重置到该大小。通常这不应该被改变,但是如果你有很少的内存,你能将它设置为查询期望的大小。(即,客户发出的SQL语句期望的长度。如果语句超过这个长度,缓冲区自动地被扩大,直到max_allowed_packet个字节。) 
record_buffer 
每个进行一个顺序扫描的线程为其扫描的每张表分配这个大小的一个缓冲区。如果你做很多顺序扫描,你可能想要增加该值。 
sort_buffer 
每个需要进行排序的线程分配该大小的一个缓冲区。增加这值加速ORDER BY或GROUP BY操作。见18.5 MySQL在哪儿存储临时文件。 
table_cache 
为所有线程打开表的数量。增加该值能增加mysqld要求的文件描述符的数量。MySQL对每个唯一打开的表需要2个文件描述符,见下面对文件描述符限制的注释。对于表缓存如何工作的信息,见10.2.4 MySQL怎样打开和关闭表。 
tmp_table_size 
如果一张临时表超出该大小,MySQL产生一个The table tbl_name is full形式的错误,如果你做很多高级GROUP BY查询,增加tmp_table_size值。 
thread_stack 
每个线程的栈大小。由crash-me测试检测到的许多限制依赖于该值。缺省队一般的操作是足够大了。见10.8 使用你自己的基准。 
wait_timeout 
服务器在关闭它之前在一个连接上等待行动的秒数。也可见interactive_timeout。 
MySQL使用是很具伸缩性的算法,因此你通常能用很少的内存运行或给MySQL更多的被存以得到更好的性能。 

如果你有很多内存和很多表并且有一个中等数量的客户,想要最大的性能,你应该一些象这样的东西: 

shell> safe_mysqld -O key_buffer=16M -O table_cache=128 \ 
?????-O sort_buffer=4M -O record_buffer=1M & 

如果你有较少的内存和大量的连接,使用这样一些东西: 
shell> safe_mysqld -O key_buffer=512k -O sort_buffer=100k \ 
?????-O record_buffer=100k & 

或甚至: 
shell> safe_mysqld -O key_buffer=512k -O sort_buffer=16k \ 
?????-O table_cache=32 -O record_buffer=8k -O net_buffer=1K & 

如果有很多连接,“交换问题”可能发生,除非mysqld已经被配置每个连接使用很少的内存。当然如果你对所有连接有足够的内存,mysqld执行得更好。 

注意,如果你改变mysqld的一个选项,它实际上只对服务器的那个例子保持。 

为了明白一个参数变化的效果,这样做: 

shell> mysqld -O key_buffer=32m --help 

保证--help选项是最后一个;否则,命令行上在它之后列出的任何选项的效果将不在反映在输出中。

PHP 相关文章推荐
PHP脚本的10个技巧(4)
Oct 09 PHP
利用PHP动态生成VRML网页
Oct 09 PHP
《PHP编程最快明白》第六讲:Mysql数据库操作
Nov 01 PHP
PHP中如何调用webservice的实例参考
Apr 25 PHP
ThinkPHP之N方法实例详解
Jun 20 PHP
PHP调用.NET的WebService 简单实例
Mar 27 PHP
php根据日期或时间戳获取星座信息和生肖等信息
Oct 20 PHP
WordPress中限制非管理员用户在文章后只能评论一次
Dec 31 PHP
ajax调用返回php接口返回json数据的方法(必看篇)
May 05 PHP
利用PHPExcel读取Excel的数据和导出数据到Excel
May 12 PHP
php libevent 功能与使用方法详解
Mar 04 PHP
ThinkPHP 5 AJAX跨域请求头设置实现过程解析
Oct 28 PHP
PHP has encountered an Access Violation
Jan 15 #PHP
PHP5 安装方法
Jan 15 #PHP
安装APACHE
Jan 15 #PHP
php5.2时间相差8小时
Jan 15 #PHP
isset和empty的区别
Jan 15 #PHP
mysql5详细安装教程
Jan 15 #PHP
FCKeditor的安装(PHP)
Jan 13 #PHP
You might like
php获取数组中重复数据的两种方法
2013/06/28 PHP
php使用curl模拟登录后采集页面的例子
2013/11/04 PHP
php中mysql连接方式PDO使用详解
2015/02/25 PHP
thinkPHP简单调用函数与类库的方法
2017/03/15 PHP
laradock环境docker-compose操作详解
2019/07/29 PHP
映彩衣的js随笔(js图片切换效果)
2011/07/31 Javascript
移动节点的jquery代码
2014/01/13 Javascript
JavaScript indexOf方法入门实例(计算指定字符在字符串中首次出现的位置)
2014/10/17 Javascript
jQuery点缩略图弹出层显示大图片
2015/02/13 Javascript
javascript实现checkbox全选的代码
2015/04/30 Javascript
Javascript简单改变表单元素背景的方法
2015/07/15 Javascript
JS实现的另类手风琴效果网页内容切换代码
2015/09/08 Javascript
nodejs 的 session 简单使用
2016/06/06 NodeJs
微信小程序 devtool隐藏的秘密
2017/01/21 Javascript
jQuery实现搜索页面关键字的功能
2017/02/16 Javascript
微信小程序图片选择区域裁剪实现方法
2017/12/02 Javascript
jQuery实现表格的增、删、改操作示例
2019/01/27 jQuery
使用Vue 实现滑动验证码功能
2019/06/27 Javascript
js实现简单放大镜效果
2020/03/07 Javascript
jQuery实现的解析本地 XML 文档操作示例
2020/04/30 jQuery
简单了解JavaScript弹窗实现代码
2020/05/07 Javascript
用Python的urllib库提交WEB表单
2009/02/24 Python
在Python的Flask框架下收发电子邮件的教程
2015/04/21 Python
在Python中使用SQLite的简单教程
2015/04/29 Python
python之pyqt5通过按钮改变Label的背景颜色方法
2019/06/13 Python
python合并多个excel文件的示例
2020/09/23 Python
Python爬虫爬取微博热搜保存为 Markdown 文件的源码
2021/02/22 Python
性能服装:HYLETE
2018/08/14 全球购物
比较基础的php面试题及答案-填空题
2014/04/26 面试题
酒店秘书求职信范文
2014/02/17 职场文书
毕业典礼主持词大全
2014/03/26 职场文书
李白故里导游词
2015/02/12 职场文书
禁毒主题班会教案
2015/08/14 职场文书
Python中使用Lambda函数的5种用法
2021/04/01 Python
vue项目多环境配置(.env)的实现
2021/07/21 Vue.js
Python爬虫入门案例之回车桌面壁纸网美女图片采集
2021/10/16 Python