手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表分类:DataBase

[MySQL FAQ]系列 -- 账号密码包含反斜线时怎么办

本文来自mysql中文网,看文章的内容就知道作者是谁了啦。呵呵。反斜框做密码还没有使用过。。

原文如下:

问: 如果密码中包含反斜线,该如何处理呢?
答: 在mysql中,反斜线"\"是有特殊意义的,用于转义,因此如果密码中包含"\",就需要特别注意。有一种一劳永逸的办法,就是在密码中不用反斜线,哈哈。另一种,那就是需要多加几个反斜线,例如:

(root:hostname:Thu Oct 15 09:15:38 2009)[mysql]> grant usage on *.* to yejr@localhost identified by 'ye\\\jr'; 
Query OK, 0 rows affected (0.02 sec)
(root:imysql.cn:Thu Oct 15 09:16:22 2009)[mysql]> select password('ye\jr');
+-------------------------------------------+
| password('ye\jr') |
+-------------------------------------------+
| *9DB91006131E32B22135599033C6A9C196EC3C6B |
+-------------------------------------------+
1 row in set (0.00 sec)
(root:imysql.cn:Thu Oct 15 09:23:32 2009)[mysql]> select host,user,password from user where user='yejr';
+-----------+------+-------------------------------------------+
| host | user | password |
+-----------+------+-------------------------------------------+
| localhost | yejr | *F06D79D5F57894772B64BF3164ABB714EBDBD3E2 |
+-----------+------+-------------------------------------------+
1 row in set (0.01 sec)
(root:imysql.cn:Thu Oct 15 09:16:28 2009)[mysql]> select password('ye\\\jr');
+-------------------------------------------+
| password('ye\\\jr') |
+-------------------------------------------+
| *F06D79D5F57894772B64BF3164ABB714EBDBD3E2 |
+-------------------------------------------+
1 row in set (0.01 sec)
[@tc_10.11.54.224_cnc ~]# mysql -uyejr -p'ye\jr'
Logging to file '/home/mysql/query.log'
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 63
Server version: 5.x.x-percona-highperf-x-log MySQL Percona High Performance Edition (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
原贴地址:http://imysql.cn/2009/03/25/mysql-faq-password-with-slash.html
作者:yejr

(yejr:imysql.cn:Thu Oct 15 09:24:58 2009)[(none)]> Bye

从上面的例子可以看到,如果密码中有反斜线,就需要在它前面再加2个反斜线。

 

MySQL前CEO致信欧盟请求批准甲骨文Sun交易

没有了mysql我们还有什么?
其实没有了mysql还有很多数据库可用,有小型 的sqlite,有和mysql性能差不多的postgresql等

但mysql是用了最方便的。phpmyadmin使得许多不懂数据库的人也会操作了。。。

以下是原文 :
来自于:http://www.cnbeta.com/articles/95165.htm

美国开源数据库厂商MySQL前CEO马顿·古斯塔夫·米科斯(Marten Gustaf Mickos)周四致信欧盟,要求欧盟尽快批准美国商用软件开发商甲骨文收购服务器和软件开发商Sun的交易.
2008年1月,MySQL被Sun收购,并成为后者数据库业务部门.甲骨文今年4月宣布,将以74亿美元收购Sun.此前Sun股东和美国司法部已批准该交易,但欧盟仍在对此展开反垄断调查.按照原定计划,欧盟将于明年1月19日宣布是否批准甲骨文-Sun交易.

米科斯周四在写给欧盟反垄断专员尼莉·克罗斯(Neelie Kroes)的信件中表示,欧盟对甲骨文收购Sun及其开源数据库软件是否将危害市场一事展开调查,这本身无疑是正确的决定,但甲骨文-Sun交易本身其实不会妨碍正常市场竞争.

米科斯在信中写道:“如果该交易存在不确定因素,将给Sun各项业务正常发展带来负面影响,同时使市场竞争程度有所降低.正因为如此,如果甲骨文-Sun交易被迫推迟,则其后果将同欧盟的良好愿望背道而驰.”

米科斯还在信中阐述了欧盟应尽早批准甲骨文-Sun交易的两大理由:1)与Sun当初收购MySQL后会继续保留后者业务一样,甲骨文完成同Sun交易 后,同样也会继续保留和进一步发展MySQL业务.2)退一步说,即使甲骨文今后对MySQL存在偏见(实际上不太可能),由于MySQL本身市场影响力 很大,因此甲骨文一家公司并不具备完全“扼杀”MySQL的能力.

业界人士表示,目前还不清楚米科斯提交这封信件后,是否会对欧盟的相应决定带来影响.但无论如何,作为MySQL的前CEO,米科斯对MySQL的具体业务可谓了如指掌.

此前米科斯已加盟美国风险投资机构Benchmark Capital.他近日在接受外界采访时表示,由于已经不再负责MySQL管理工作,因此甲骨文-Sun交易被批准后,自己并不会从交易中获得任何利益; 他之所以要致信欧盟,是想让Sun及MySQL部门员工受益.2008年Sun提出收购MySQL时,米科斯曾加以拒绝,但后来转变态度而答应Sun收购 请求.

甲骨文CEO拉里·埃里森(Larry Ellison)此前称,MySQL会在不同业务领域同甲骨文现有数据库产品争抢市场.他还表示,甲骨文今后不会把MySQL分拆为独立公司.

Tags: mysql, oracle, sun

MySQL的1067错误解决方案大全

本文乃是从google搜索而来,缘由是有群友问,1067怎么处理。。。
于是google了一下,因为我记得好象是没有指定default_file。。
结果,发现1067错误有这么多的原因啊?来源于:http://www.wzsky.net/html/Program/Mysql/100436.html

原文如下:

本文例举了MySQL的1067错误的多种解决方法,以便大家遇到该错误时可以快速参考解决。

内容:
*************
1

安装MYSQL后更改了ROOT的密码后用
net startmysql
启动时我就遇到了这样的问题.使用以下命令后
c:\mysql\bin\mysqladmin-u root -p shutdown
再net start mysql就没有这个错误提示了!


*************
2
MySQL的1067错误


Q:我的Mysql碰到了 1067 错误

错误信息为:
A system error has occurred.
System error 1067 has occurred.
The process terminated unexpectedly.

A:在我的机上的解决办法是:
修改%windir%\my.ini,增加
[mysqld]
#设置basedir指向mysql的安装路径
basedir=D:\Program\Tools\mysql
datadir=D:\Program\Tools\mysql\data


*************
3
已经弄好了!!!
好像是这样……
mysql_install_db 脚本只是在初次安装时才需要运行一次,之后就不用再运行了,不知道是不是这么回事.我把mysql.server拷贝至/etc/rc.d/init.d /中,运行chkconfig mysql.server,至此mysql服务器每次开机自动启动,只要设置好PATH,在命令行上输入mysql就一切搞定!
看来摸索的过程实在是痛苦啊,这已经折磨我好几天了……

*************
4

问:我的Mysql碰到了 1067 错误

错误信息为:

A system error has occurred.
System error 1067 has occurred.
The process terminated unexpectedly.

答:
解决办法:

1.检查你的Mysql目录有没有给系统的System用户权限。
2.删除掉你的 %WINDOWS%/my.ini 文件。
3.检查你的 c:/my.cnf 文件配置是否正确。


*************
5

【☆☆☆ MySql概要说明 ☆☆☆】
MySql 的默认安装目录是c:mysql,安装结束后没有任何提示信息说安装结束,请点Finish按钮之类的话,直接就退出了。如果需要安装到其他目录,建议先 安装到c:mysql,然后再整个目录move到自己希望的地方,例如移动到d:mysql 之后,需要编辑 d:mysqlmy-example.cnf (*.cnf的文件在Windows 2000中会被注册成为 SpeedDial文件,在资源管理器中无法操作,要用命令行来启动notepad编辑,例如运行notepadd:mysqlmy- example.cnf ,但是这个文件是UNIX系统下的文本文件格式,在notepad中不能正确换行,可以用write打开编辑,
或者用write打开后保存一次,再用notepad就可以编辑了。)找到basedir一行,去掉前面的“#”号注释,将后面的路径改为移动后的目录(目录分隔符要用斜线而不是反斜线),然后另存为:c:my.cnf
用服务方式启动的MySql如果用 net stop mysql 来停止,会得到一条 出错消息,例如:
C:>net stop mysql
MySql 服务正在停止.
系统出错。
系统发生 1067 错误。
进程意外终止。
MySql 服务已成功停止。
这没有关系,MySql确实已经停止了。但是假如不希望看到任何出错消息
的话,可以用以下的命令来停止:
C:>mysqlbinmysqladmin -u root shutdown
如果没有任何提示信息,说明MySql已经成功停止了。
需要说明的是MySql虽然号称安装简单,易于使用,但是这毕竟是基于SQL的数据库管理系统,所以如果不是对SQL十分精通的话恐怕也不能拿它来做什么

**************
6

mysql服务无法启动的解决方法
mysql服务无法启动

我的操作系统是 win xp
无论安装何版本的mysql,在管理工具的服务中启动mysql服务时都会在中途报错
内容为:在 本地计算机 无法启动mysql服务 错误1067:进程意外中止

经过多方求教,得解决方法如下

查找系统(后来验证应该为windows目录)目录下的my.ini文件,编辑内容(如果没有该文件,则新建一个),至少包含basedir,datadir这两个基本的配置。
[mysqld]
# set basedir to installation path, e.g., c:/mysql
# 设置为MYSQL的安装目录
basedir=D:/www/WebServer/MySQL
# set datadir to location of data directory,
# e.g., c:/mysql/data or d:/mydata/data
# 设置为MYSQL的数据目录
datadir=D:/www/WebServer/MySQL/data

另外,要主意
[WinMySQLadmin]
Server=D:/www/WebServer/MySQL/bin/mysqld-nt.exe
user=root
password=xxxxxxxx
#以上是设置WinMySQLadmin的配置
[Client]
user=root
password=xxxxxxxx

hehe~ 解决了


**************
7
刚刚弄好Mysql 『关键字 1067错误』
比较郁闷,竟然没有想到安装个Mysql也会出错,错误代码是1067 安装卸载了好几次,就是不行,而且把一些禁用了的服务都打开了,但是还是不行。最后我是这样解决的:

在C:\windows里找一找my.ini 然后删除 然后再启动winmysqladmin.exe界面配置mysql,保存my.ini就可以了 启动mysql试试 呵呵



***************
8
mysql 错误 1067: 进程意外终止
这 个问题困扰了一个早晨,非常郁闷!以前我在装mysql的时候从来没有遇到过,可是现在庄这个高版本的就有问题了,我换我装过的低版本的还是一样的问题 (最关键的是操作系统都是一样的)。在windows2000的服务里面启动mysql服务可是总是弹出“错误 1067: 进程意外终止”!

我 感觉问题在配置文件,于是就重新写了my.ini,启动还是一样的效果,我在google上查找无果,崩溃状态!就在此时眼前一亮,一位高人的指点是我豁 然开朗,你的ini文件有否放到windows目录下,我从个人目录的windows目录下,将其拷贝到系统windows目录下,启动服务,ok!!!

Tags: mysql, 错误, 1067

叶金荣的MYSQL优化PPT

原来的PPT是在线的,由slideshare提供,网址为:http://www.slideshare.net/secret/IzjEa4qGWlMeLH,不过为了方便大家下载,并使用PPT观看,我还是做了一下本地备份。

因为,我看到了PPT中每个页面下面基本上都有注释,而线上的版本是不存在注释的。所以。尽量还是下载回本地看吧?

使用wps或者office 2007观看。

附件: mysql20090828-090831223515-phpapp01.pptx (1.38 M, 下载次数:2792)

Tags: 叶金荣, imysql

Query Cache,看上去很美

query cache在开发中应该算是应用的挺广泛的。但事实上,在高并发网站,query cache是应该并关闭的(我是指论坛、SNS类型的网站),而应该用其他的方式进行缓存,不是用数据库。
众所周知,在设置了query cache后,连续的查询同样的sql,那么这些SQL是会被缓存下来的,然而一旦有更新cahce会被清空。数据量小的时候可能感觉不出来,如果数据量大了,其实反而是影响效率的。因此一般不太会使用。。

mysql的参数是:

XML/HTML代码
  1. # Query cache is used to cache SELECT results and later return them  
  2. # without actual executing the same query once again. Having the query  
  3. # cache enabled may result in significant speed improvements, if your  
  4. # have a lot of identical queries and rarely changing tables. See the  
  5. # "Qcache_lowmem_prunes" status variable to check if the current value  
  6. # is high enough for your load.  
  7. # Note: In case your tables change very often or if your queries are  
  8. # textually different every time, the query cache may result in a  
  9. # slowdown instead of a performance improvement.  
  10. query_cache_size=0  


taobao DBA的苏普说:

当你的数据库打开了Query Cache(简称QC)功能后,数据库在执行SELECT语句时,会将其结果放到QC中,当下一次处理同样的SELECT请求时,数据库就会从QC取得结果,而不需要去数据表中查询。

大小: 14.31 K
尺寸: 499 x 314
浏览: 1350 次
点击打开新窗口浏览全图

 在这个“Cache为王”的时代,我们总是通过不同的方式去缓存我们的结果从而提高响应效率,但一个缓存机制是否有效,效果如何,却是一个需要好好 思考的问题。在MySQL中的Query Cache就是一个适用较少情况的缓存机制。在上图中,如果缓存命中率非常高的话,有测试表明在极端情况下可以提高效率238%[1]。但实际情况如何?Query Cache有如下规则,如果数据表被更改,那么和这个数据表相关的全部Cache全部都会无效,并删除之。这里“数据表更改”包括: INSERT, UPDATE, DELETE, TRUNCATE, ALTER TABLE, DROP TABLE, or DROP DATABASE等。举 个例子,如果数据表posts访问频繁,那么意味着它的很多数据会被QC缓存起来,但是每一次posts数据表的更新,无论更新是不是影响到了cache 的数据,都会将全部和posts表相关的cache清除。如果你的数据表更新频繁的话,那么Query Cache将会成为系统的负担。有实验表明,糟糕时,QC会降低系统13%[1]的处理能力。

如果你的应用对数据库的更新很少,那么QC将会作用显著。比较典型的如博客系统,一般博客更新相对较慢,数据表相对稳定不变,这时候QC的作用会比较明显。

再如,一个更新频繁的BBS系统。下面是一个实际运行的论坛数据库的状态参数:

QCache_hit 5280438
QCache_insert 8008948
Qcache_not_cache 95372
Com select 8104159

可以看到,数据库一共往QC中写入了约800W次缓存,但是实际命中的只有约500W次。也就是说,每一个缓存的使用率约为0.66次。很难说,该 缓存的作用是否大于QC系统所带来的开销。但是有一点是很肯定的,QC缓存的作用是很微小的,如果应用层能够实现缓存,将可以忽略QC的效果。

————-下面是关于QC的一些其他细节—————–

一、Query Cache相关参数:

  • query_cache_size QC占用空间大小,通过将其设置为0关闭QC功能
  • query_cache_type 0表示关闭QC;1表示正常缓存;2表示SQL_CACHE才缓存
  • query_cache_limit 最大缓存结果集
  • query_cache_min_res_unit 手册上说,QC会按照这个值分配缓存block的大小。
  • Qcache_lowmem_prunes 这是一个状态变量(show status),当缓存空间不够需要释放旧的缓存时,该值会自增。

二、Query Cache观察:

CREATE TABLE t1(id INT,var1 varchar(10));
//Com_select:8 Qcache_hits:1
INSERT INTO t1 VALUES(1,’WWW’);
//Com_select:8 Qcache_hits:1
SELECT * FROM t1 WHERE id=1;
//Com_select:9 Qcache_hits:1
SELECT * FROM t1 WHERE id=1;
//Com_select:9 Qcache_hits:2 Qcache_queries_in_cache:1
INSERT INTO t1 VALUES(2,’RRRR’);
//Com_select:9 Qcache_hits:2 Qcache_queries_in_cache:0
SELECT * FROM t1 WHERE id=1; //INSERT后Cache失效
//Com_select:10 Qcache_hits:2 Qcache_queries_in_cache:1

参考:

  1. http://dev.mysql.com/doc/refman/5.0/en/query-cache.html
  2. http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html
  3. http://www.mysqlperformanceblog.com/2006/07/27/mysql-query-cache/

(全文完)

 本文引用地址为:http://rdc.taobao.com/blog/dba/html/325_query-cache-cool-or-not.html

Tags: query cache