默认div的属性值都是static,静态。就不用多说了。最关键的是
relative(相对)以及absolute(绝对)。
往往我们如果是COPY别人的代码,会把absolute属性与left、top配合起来制作相关的“悬浮层”效果。然而有时候我们需要针对某一个容器的悬浮效果,而不是针对窗口的。这时候通过高度、宽度的计算不但麻烦,而且几乎无法完美实现效果。我一开始也无能为力,后来发现只要把其上一级的样式属性 position设置为relative就可以了。
也就是说,position的属性值的效果,直接受其容器样式中position属性值影响。
例如如下A-B的嵌套结构




当A的position为relative时,B的position为absolute才有效。这时候left:0、top:0就不再针对窗口文档,而是针对id为A的这个div了。
这样在开发一些基于B/S应用程序的时候,就能很方便的添加一些UI元素,例如某一个活动层的关闭按钮等。


备注:
position:absolute这个是绝对定位;
是相对于浏览器的定位。
比如:position:absolute;left:20px;top:80px; 这个容器始终位于距离浏览器左20px,距离浏览器上80px的这个位置。

position:relative是相对定位,是相对于前面的容器定位的。这个时候不能用top left在定位。应该用margin。

比如:


当1固定了位置。1的样式float:left;width:100px; height:800px;
2的样式为float:left; position:relative;margin-left:20px;width:50px;
2的位置在1的右边,距离120px
   1.  if (typeof window.pageYOffset != ’undefined’) {
   2. bodyTop = window.pageYOffset;
   3. } else if (typeof document.compatMode != ’undefined’ && document.compatMode != ’BackCompat’) {
   4. bodyTop = document.documentElement.scrollTop;
   5. }
   6. else if (typeof document.body != ’undefined’) {
   7. bodyTop = document.body.scrollTop;
   8. }

# if (typeof window.pageYOffset != ‘undefined’) {
#                 bodyTop = window.pageYOffset;
#             } else if (typeof document.compatMode != ‘undefined’ && document.compatMode != ‘BackCompat’) {
#                 bodyTop = document.documentElement.scrollTop;
#             }
#             else if (typeof document.body != ‘undefined’) {
#                 bodyTop = document.body.scrollTop;
#             }

其实这一大串代码在jQuery中有一行代码可以代替,那就是
var bodyTop = $(document).scrollTop();
经测试,如果是写成$(window).scrollTop()的话则在IE系列下是没有值的,万恶的jQuery API竟然没有scrollTop().

bodyTop = document.documentElement.scrollTop + document.body.scrollTop;

就可以了。

因为始终有一个为 0 ; 呵呵。

DIV学习网站

WEB2.0 jackxiang 2009-11-25 22:52
http://blogger.org.cn/blog/more.asp?name=yach&id=20128
http://blog.sina.com.cn/s/blog_61814cd40100e85j.html
控制面板\时钟、语言和区域\区域和语言选项\键盘和语言\更改键盘\语言栏\悬浮于桌面上
警惕:最易患癌八个生活坏习惯
    北京市卫生局发布的健康播报显示,去年本市逾7万死亡者中,每4个有一个死于癌症。6日,台湾歌手阿桑因乳腺癌不幸病逝。专家指出,癌症关键是如何预防,拥有健康的生活方式、科学饮食、调节自己的情绪加上定期体检,癌症就无法趁虚而入。

  在18日举行的2009国际健康生活方式博览会健康大家科学讲堂上,中华预防医学会会长、卫生部原副部长王陇德提醒,要注意保健中的十大误区。阅读全文
二战德国党卫军军歌:《当人们不再忠诚》
歌词:噢,命运,变幻无常 就象月亮 有时满月,有时残缺 可恨的人生啊 先是坎坷,后又平顺 象被命运玩弄于股掌之上 不论贫穷或权贵终究会象冰块般溶解消逝 荒诞虚空的命运 你这运转不停的巨轮 既恶毒又残酷 人生的幸福美满,转眼成空 你躲藏在阴影和遮掩之中给我煎熬和折磨,我现在只好赌赌运气 ? 赤手空拳向你讨个公道 命运乖违,和我作对 健康与德性,非我所有 沮丧与挫败,奴役我心在此时刻,请勿迟疑 立即拨动令人心悸的琴弦 因为命运已经击败强者 所有人只能与我一起饮泣布兰诗歌之噢 命运女神
阅读全文
引言:牛在哪里? 大门口


    有大学毕业的朋友下乡做村干部,几乎每天都有村民到办公室来求助,总结一下出现最频繁的问题是:牛在哪里?意思是他家的牛找不到,能否帮忙找牛?为人民服务是干部的重要职责,朋友自然尽心竭力为民服务,但久而久之,一有村民出现在门口,朋友心里就开始盘算,今天不是找牛就是找猪啊羊啊鸡啊诸如此类的,不免烦躁与空虚,并扪心自问:难道我一个堂堂大学本科生,来这就是为了找牛吗?
阅读全文
Oracle Enterprise Linux是由Oracle公司提供支持的企业级Linux发行。据项目网站称,Oracle以Red Hat Linux做为起始,移除了Red Hat的商标,然后加入了Linux的错误修正。Oracle Enterprise Linux现在是,并旨在保持为,与Red Hat Enterprise Linux完全兼容。

目前LINUX世界中很少有企业级Linux的免费版本,真正源自大厂商的,只有两个,一个是Oracle
Enterprise Linux,另一个是solaris.阅读全文
 今年10月份,Window 7、Ubuntu 9.10和FreeBSD 8.0三者几乎同时发布。谁的性能最优?

  9月28日,业界知名的Phoronix实验室公布一项测试数据,表明Ubuntu 9.10在性能上明显优于FreeBSD 8.0。具体做法大致如下:把两者最新的版本放在一台AMD双核CPU的服务器上,使用Phoronix专用测试包(PTS)严格进行24项对比测试,结果显示:19:5(即Ubuntu:19胜5负),Ubuntu明显胜于FreeBSD。具体地说就是,作为服务器版本的Ubuntu 9.10 Alpha 6与FreeBSD 8.0 RC1大比拼,前者胜出。

  今年8月3日进行的一项测试(Windows7/Vista/Ubuntu三者大比拼),结果表明,Ubuntu 9.04版本略胜一筹。Ubuntu 9.10最新版本与Windows 7的对比测试,目前还没有进行。但是,根据Phoronix实验室的最新测试结果,Ubuntu的排名不会是最差的一个。大家知道,Phoronix实验室是一个专门的测试机构,书呆子气十足,只会用数据说话。事实上,Apple电脑操作系统就是由FreeBSD演化出来的。坦率地说,Ubuntu 9.10取得如此成绩并不容易,完全仰仗于Linux 2.6.31最新版本的强大威力。

  为什么人们如此关注Ubuntu 9.10版本性能的优劣?因为,Ubuntu 9.10版本关乎企业云计算的命运。当前,国内《Ubuntu实验室》已经掌握了Ubuntu企业云计算的关键技术(或者说,关键点),同时,还有其他的一些发现(或体会)。我们认识到,真正学会、用好Ubuntu 9.10版本不是一件简单的事情,其中包含很多新理念、新技术。在技术方面,紧跟发展潮流是创新的前提,创新不是重新发明轮子。

  抱歉说明:全球IT技 术发展非常迅速,一日不读书,落后千万里。明日清晨,我就要飞往一个很远很远的地方,那里几乎全是原始森林,冰川和雪峰,人迹罕见,根本没有网络连接。在 那里,我会心中时刻想念着我的读者们(不论是粉丝们还是批评者)。我虽然人已老了,但是,我其实还一个学生,准确地说,是一个数学专业的大学生,什么东西 都要重新学习,因为,我本人只是个数学教员(原人大、后北大),整天在无限小、无限大抽象空间中周旋。C程序我不写了,但是,我现在还能看得懂C程序,而且,很喜欢欣赏C程序的源代码风格。我懂得C程序的伟大力量。时光不能倒流。如若时光果真能够回到1957年,我定将成为一名编程高手,把思想闪光注入程序,与朋友们交流。在我看来,程序就是数学的一种语言,与人交流的工具。有人喜欢说,国产程序。对此,我就是想不通。程序可以写在黑板上,怎么会是国产?我力挺Ubuntu Linux发行版,完全是因为它的源代码可以让我看,让我读,而且,可以讲给学生们听。把一个程序预装在某个特定的计算机上,那叫“呆板程序”;要是一个程序能够随处自动运行,那才叫“Live程序”,这东西才有味道。我不相信Windows 7能够变成为“Live程序”,因为,它不能自动识别周围的硬件环境(需要激活才行)。其实Live技术并不复杂,但是,微软就是不肯这样去做
没有最好的操作系统,只有最适合的操作系统~~  

我也算得上是个 FREEBSD 的爱好者,虽然第一次使用 UNIX(类 UNIX)系统时是使用 SlackWare,即其中一个 LINUX 发行版。但自从使用了 FREEBSD 后,基本没用过 LINUX 了。  阅读全文
 用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句。言外之意,就是对数据进行修改。在标准的SQL中有3个语句,它们是INSERT、UPDATE以及DELETE。在MySQL中又多了一个REPLACE语句,因此,本文以MySQL为背景来讨论如何使有SQL中的更新语句。阅读全文
log-slow-queries=/var/lib/mysql/slowquery.log
long_query_time=2


    连接数太多,如果是服务器或者数据库负载太高的异常,如果让程序继续,会有逻辑上的处理会有问题的,那得throw一下异常,然后捕获它,这说明数据库的架构需要进一步优化了,在高并发上处理有问题。
一直以来积累了很多对MySQL优化的心得和经验,计划通过写日志的方式一步一步写出来分享给大家。

MySQL优化的第一步应该做的就是排查问题,找出瓶颈,而通常情况下的瓶颈和问题都需要通过观察MySQL的运行情况来进行分析,《查看MySQL运行状况》这篇文章罗列了一些常用的查看MySQL运行信息的方式。

而对于大多数的程序员来说,最容易发现并解决的问题就是MySQL的慢查询或者没有利用索引的查询,所以这里主要给大家介绍如何利用官方的mysqldumpslow工具方便的查看这些信息。如何打开MySQL的慢查询,请点击《打开MySQL的慢查询记录》。

mysql slow log 是用来记录执行时间较长(超过long_query_time秒)的sql的一种日志工具.
启用 slow log
有两种启用方式:
1, 在my.cnf 里 通过 log-slow-queries[=file_name]
2, 在mysqld进程启动时,指定--log-slow-queries[=file_name]选项

mysqldumpslow命令
/usr/local/mysql/bin/mysqldumpslow -s c -t 10 /database/mysql/slow-log
这会输出记录次数最多的10条SQL语句,其中:

    * -s, 是表示按照何种方式排序,c、t、l、r分别是按照记录次数、时间、查询时间、返回的记录数来排序,ac、at、al、ar,表示相应的倒叙;
    * -t, 是top n的意思,即为返回前面多少条的数据;
    * -g, 后边可以写一个正则匹配模式,大小写不敏感的;

比如
/path/mysqldumpslow -s r -t 10 /database/mysql/slow-log
得到返回记录集最多的10个查询。
/path/mysqldumpslow -s t -t 10 -g “left join” /database/mysql/slow-log
得到按照时间排序的前10条里面含有左连接的查询语句。

小结
使用mysqldumpslow命令可以非常明确的得到各种我们需要的查询语句,对MySQL查询语句的监控、分析、优化是MySQL优化的第一步,也是非常重要的一步。


————————————————————————————————————
mysql开启慢查询方法:
1,配置开启

Linux:

在mysql配置文件my.cnf中增加

log-slow-queries=/var/lib/mysql/slowquery.log (指定日志文件存放位置,可以为空,系统会给一个缺省的文件host_name-slow.log)
long_query_time=2 (记录超过的时间,默认为10s)
log-queries-not-using-indexes (log下来没有使用索引的query,可以根据情况决定是否开启)
log-long-format (如果设置了,所有没有使用索引的查询也将被记录)

Windows:

在my.ini的[mysqld]添加如下语句:
log-slow-queries = E:\web\mysql\log\mysqlslowquery.log
long_query_time = 2(其他参数如上)



2,查看方式

Linux:

使用mysql自带命令mysqldumpslow查看

常用命令
-s ORDER what to sort by (t, at, l, al, r, ar etc), 'at’ is default
-t NUM just show the top n queries
-g PATTERN grep: only consider stmts that include this string

eg:
s,是order的顺序,说明写的不够详细,俺用下来,包括看了代码,主要有 c,t,l,r和ac,at,al,ar,分别是按照query次数,时间,lock的时间和返回的记录数来排序,前面加了a的时倒序 -t,是top n的意思,即为返回前面多少条的数据 -g,后边可以写一个正则匹配模式,大小写不敏感的

mysqldumpslow -s c -t 20 host-slow.log
mysqldumpslow -s r -t 20 host-slow.log
上述命令可以看出访问次数最多的20个sql语句和返回记录集最多的20个sql。

mysqldumpslow -t 10 -s t -g “left join” host-slow.log这个是按照时间返回前10条里面含有左连接的sql语句。













mysql慢查询日志对于跟踪有问题的查询非常有用,可以分析出当前程序里有很耗费资源的sql语句,那如何打开mysql的慢查询日志记录呢?
其实打开mysql的慢查询日志很简单,只需要在mysql的配置文件里(windows系统是my.ini,linux系统是my.cnf)的[mysqld]下面加上如下代码:

log-slow-queries=/var/lib/mysql/slowquery.log
long_query_time=2


注:
log-slow-queries 设置把日志写在那里,为空的时候,系统会给慢查询日志赋予主机名,并被附加slow.log. /var/lib/mysql/slowquery.log为日志存放的文件的位置,一般这个目录要有mysql的运行帐号的可写权限,一般都将这个目录设置为mysql的数据存放目录

long_query_time=2中的2表示查询超过两秒才记录.

如果设置了参数log-long-format,那么所有没有使用索引的查询也将被记录。在文件my.cnf或my.ini中加入下面这一行可以记录这些查询

这是一个有用的日志。它对于性能的影响不大(假设所有查询都很快),并且强调了那些最需要注意的查询(丢失了索引或索引没有得到最佳应用)

# Time: 070927 8:08:52

# User@Host: root[root] @ [192.168.0.20]

# Query_time: 372 Lock_time: 136 Rows_sent: 152 Rows_examined: 263630
select id, name from manager where id in (66,10135);
这是慢查询日志中的一条,用了372秒,锁了136秒,返回152行,一共查了263630行

    如果日志内容很多,用眼睛一条一条去看会累死,mysql自带了分析的工具,使用方法如下:
命令行下,进入mysql/bin目录,输入mysqldumpslow –help或--help可以看到这个工具的参数,主要有
Usage: mysqldumpslow [ OPTS... ] [ LOGS... ]

Parse and summarize the MySQL slow query log. Options are

--verbose    verbose

--debug      debug

--help       write this text to standard output

-v           verbose

-d           debug

-s ORDER     what to sort by (t, at, l, al, r, ar etc), 'at' is default

-r           reverse the sort order (largest last instead of first)

-t NUM       just show the top n queries

-a           don't abstract all numbers to N and strings to 'S'

-n NUM       abstract numbers with at least n digits within names

-g PATTERN   grep: only consider stmts that include this string

-h HOSTNAME hostname of db server for *-slow.log filename (can be wildcard),

               default is '*', i.e. match all

-i NAME      name of server instance (if using mysql.server startup scrīpt)

-l           don't subtract lock time from total time

-s,是order的顺序,说明写的不够详细,俺用下来,包括看了代码,主要有
c,t,l,r和ac,at,al,ar,分别是按照query次数,时间,lock的时间和返回的记录数来排序,前面加了a的时倒叙
-t,是top n的意思,即为返回前面多少条的数据
-g,后边可以写一个正则匹配模式,大小写不敏感的

mysqldumpslow -s c -t 20 host-slow.log
mysqldumpslow -s r -t 20 host-slow.log

上述命令可以看出访问次数最多的20个sql语句和返回记录集最多的20个sql。
mysqldumpslow -t 10 -s t -g “left join” host-slow.log
这个是按照时间返回前10条里面含有左连接的sql语句。



Windows:

当你是第一次开启mysql的慢查询,会在你指定的目录下创建这个记录文件,本文就是mysqlslowquery.log,这个文件的内容大致如下(第一次开启MYSQL慢查询的情况下)
E:\web\mysql\bin\mysqld, Version: 5.4.3-beta-community-log (MySQL Community Server (GPL)). started with:
TCP Port: 3306, Named Pipe: (null)
Time Id Command Argument

可以通过如下的命令来查看慢查询的记录数:

mysql> show global status like ‘%slow%’;
+———————+——-+
| Variable_name | Value |
+———————+——-+
| Slow_launch_threads | 0 |
| Slow_queries | 0 |
+———————+——-+

来自:http://www.cnblogs.com/lavandachen/articles/1929537.html

<div class="head_swf">
  <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="900" height="181">
    <param name="allowScriptAccess" value="sameDomain" />
    <param name="movie" value="/swf/menu.swf" />
    <param name="quality" value="high" />
    <param name="wmode" value="transparent" />
    <embed src="/swf/menu.swf" width="900" height="181" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" allowscriptaccess="sameDomain" type="application/x-shockwave-flash" wmode="transparent"></embed>
  </object>
</div>
提起赵高,人们自然会想起指鹿为马、沙丘政变。诚然,赵高是中国历史上搞阴谋、说假话之造极者,但赵高也并非一无是处,他不仅是推翻秦王朝的功臣,他还是自学成才的政治家、法学家、书法家。首先,我们应当承认,没有赵高发动的宫廷政变,尤其是胡亥上台后他肆无忌惮的“糟搞”,秦王朝肯定不会毁灭的如此之快。大家知道秦自商鞅变法,便日见强大,吞并六国,统一中原正是秦王朝改革后经济发展、政治进步、军事强大的结果。到了秦王政更是疆域广阔,一统天下,法规完善。然而,偌大一个秦王朝,竟被一个赵高“三下五除二”就玩掉了,我们不能不认真地审视一下赵高其人。
  赵高是赵国宗室后裔,父母因不满秦国专横统治先后罹罪受刑,国仇家恨,赵高铭刻在心。然而,摆在赵高面前的复仇之路唯有一条:混入敌人内部,以阴谋与诡计取胜。为取得秦王赢政信任,他长期伪装、蜇伏,终于趁秦皇驾崩之际一举断送了秦王朝,真乃十年磨剑、在此一举呵。阅读全文
永久的数据库连接是指在您的脚本结束运行时不关闭的连接。当收到一个永久连接的请求时。PHP 将检查是否已经存在一个(前面已经开启的)相同的永久连接。如果存在,将直接使用这个连接;如果不存在,则建立一个新的连接。所谓“相同”的连接是指用相同的用户名和密码到相同主机的连接。

对 WEB 服务器的工作和分布负载没有完全理解的读者可能会错误地理解永久连接的作用。特别的,永久连接不会在相同的连接上为您提供建立“用户会话”的能力,也不提供有效建立事务的能力。实际上,从严格意义上来讲,永久连接不会给您提供任何非永久连接无法提供的特殊功能。阅读全文
mysql有一个功能就是可以log下来运行的比较慢的sql语句,默认是没有这个log的,为了开启这个功能,
要修改my.cnf或者在mysql启动的时候加入一些参数。如果在my.cnf里面修改,需增加如下几行
long_query_time = 1
log-slow-queries = /var/youpath/slow.log
log-queries-not-using-indexes
long_query_time 是指执行超过多久的sql会被log下来,这里是1秒。
log-slow-queries 设置把日志写在那里,可以为空,系统会给一个缺省的文件host_name-slow.log,
log-queries-not-using-indexes 就是字面意思,log下来没有使用索引的query。
把上述参数打开,运行一段时间,就可以关掉了。
接下来就是分析了,这里的文件名字叫host-slow.log。
先mysqldumpslow –help以下,e它主要用的是
-s ORDER what to sort by (t, at, l, al, r, ar etc), ‘at’ is default
-t NUM just show the top n queries
-g PATTERN grep: only consider stmts that include this string
-s,是order的顺序,说明写的不够详细,主要有
c,t,l,r和ac,at,al,ar,分别是按照query次数,时间,lock的时间和返回的记录数来排序,前面加了a的时倒叙
-t,是top n的意思,即为返回前面多少条的数据
-g,后边可以写一个正则匹配模式,大小写不敏感的
mysqldumpslow -s c -t 20 host-slow.log
mysqldumpslow -s r -t 20 host-slow.log
上述命令可以看出访问次数最多的20个sql语句和返回记录集最多的20个sql。
mysqldumpslow -t 10 -s t -g “left join” host-slow.log
这个是按照时间返回前10条里面含有左连接的sql语句。
用了这个工具就可以查询出来那些sql语句是性能的瓶颈,进行优化,比如加索引,该应用的实现方式等。  ......
/etc/my.cnf
#skip-grant-tables=on
update mysql.user set authentication_string=password('MyNewPass') where user='root'; #成功
select host,user,authentication_string from mysql.user;
+-----------+-----------+-------------------------------------------+
| host      | user      | authentication_string                     |
+-----------+-----------+-------------------------------------------+
| localhost | root      | *xxx |
| localhost | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| 127.0.0.1 | root      | *xxx |
+-----------+-----------+-------------------------------------------+
mysql db_eladmin < /tmp/db_eladmin.sql

在打开skip-grant-tables后,这些语句在mysql-5.7基本上用不上了:
mysql> show grants;
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('Asdfjkl;711');
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

mysql修改root密码:

cat /root/.my.cnf
[client]
user=root
password=111111


问题一:Linux下MySQL 的root的密码忘记的解决办法加上  --skip-grant-tables, 重新设置密码:

重新正常启动提示并解决办法如下,改密码为一样还是不行的登录不了 了,这块最新的版本可能是作了安全防范吧:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> alter user 'root'@'localhost' identified by 'mysql';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> exitBye

再次提示修改密码和原密码一致进不了了怎么办?出现:
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
mysql> GRANT ALL PRIVILEGES ON *.* TO IDENTIFIED BY '123' WITH GRANT OPTION;
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

这个时候我们只需要flush privileges 一下,在添加用户就OK了,

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
alter user 'root'@'localhost' identified by 'mysql';
ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost',出现:MYSQL ERROR 1396 (HY000) 错误的解决办法 http://blog.sina.com.cn/s/blog_439f80c40100yoln.html

ERROR 1396 (HY000): Operation CREATE USER failed for 'jack'@'localhost',惹毛我了,我直接从其它机器上拷贝一个db目录带mysql表的过来,O了:scp -r mysql root@10.44.150.187:/data/.
[root@iZ25z0ugwgtZ data]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.11-log MySQL Community Server (GPL)


localhost能连接127.0.0.1不能连接的授权命令。
Warning: mysqli_connect(): (HY000/1130): Host '127.0.0.1' is not allowed to connect to this MySQL server
mysql> grant all privileges on jackX_mysql.* to jackX@"127.0.0.1" identified by "jackX2016";
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

[root@iZ25z0ugwgtZ config]# mysql -h127.0.0.1 -ujackX -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 5.7.11-log MySQL Community Server (GPL)

mysql> \q
Bye
——————————————————————————————————————————————————————————
这样的:
一、RPM包的安装方式:
    1.关闭MySQL服务
     /etc/init.d/mysqld stop
    2.修改MySQL的启动文件
     vi /etc/init.d/mysqld
     找到Start(){   \\大概在43行左右
     让后在下行加入
     /usr/bin/mysqld_safe --skip-grant-tables --datadir="$datadir" --socket="$socketfile" --log-error="$errlogfile" --pid-file="$mypidfile
     其中加入--skip-grant-tables的意思是启动MySQL服务的时候跳 过权限表认证。启动后,连接到MySQL的root不需要口令
     3.重新启动MySQL服务
      /etc/init.d/mysqld start
     4.修改root用户密码
     #mysql
     mysql>update mysql.user set password=password('新密码')
         ->where user=root;
     mysql> flush privileges;
     mysql> quit
     5.把/etc/init.d/mysqld 改回原状重新启动mysql 就可以使用新密码登陆了。
     6.重新启动mysql 就可以使用新密码登陆了。
二、如果是源代码编译安装的话
     1.stop数据库
     service mysqld stop
     2.找到源代码编译安装的路径我的是/usr/local/mysql
      #cd /usr/local/mysql
      #bin/mysqld_safe --skip-grant-tables &
     3.启动之后就可以不需要密码进入mysql了
      #mysql
      mysql>use mysql;
      mysql>update user set password=password('new_password')
          ->where user='root';
      mysql>flush privileges;
     4.重启mysql,就可以用新密码登陆了。

其实最主要的就是在启动的时候要加上--skip-grant-tables 这样就可以实现无密码登陆了。
    
                           祝大家好运!!!
摘自:http://blog.chinaunix.net/uid-23397996-id-115499.html



问题二:相关直接修改Mysql的密码问题答疑
问:password=password("new_pass")   等号后为什么要加password?
答:后面那个password应该是个加密函数,用来加密你输入的密码
-------------MYSQL安装问题无密码,如何添加密码?---------------
没有密码为MYSQL加密码:
mysql -uroot -p
回车
提示输入密码,为空回车
update mysql.user set password=PASSWORD('122198') where user='root';
刷新权限表,输入如下命令
flush privileges;
退出
quit
------------------------实践如下:---------------------------------------------------------
mysql> update mysql.user set password=PASSWORD('WXXXXX5v') where user='root';      
Query OK, 4 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.06 sec)
MYSQL 修改root密码命令
------------------------------------------------------------------------------------------------
cmd下切换到 mysql 安装目录

d:/mysql/bin
前提:mysql用户root密码为空.
输入 mysql -u root mysql
mysql> 状态下输入 update user set password=password('新密码') where user='root';
回显
Query OK, 0 rows affected (0.00 sec)
Rows matched: 2 Changed: 0 Warnings: 0
mysql> 状态下输入 FLUSH PRIVILEGES;
回显
Query OK, 0 rows affected (0.00 sec)
mysql> 状态下输入 quit
退出 sql
注意每个命令后都要加上一个分号 ";"
mysql 才开始执行该行命令
而第二个指令会让已载入记忆体的 mysql 系统资料库更新
重起 mysql .
在更新 root 密码後,日後要与 MySQL 连线的方法为:
mysql -uroot -p新密码
==================================================
忘记mysql 的root 密码:
先确认已经杀掉mysqld 进程了,然后执行这个
/usr/bin/safe_mysqld --skip-grant-tables &
再这样登录
mysql -h 192.168.1.2 -u root
上边的192.168.1.2 是cloud 的mysqld 运行机器,你换成自己的,这样登录上
去,就可以修改密码了。
修改密码
1.mysql -h hostname –u root 命令登录到mysqld server 用grant 命令改变口令:
grant all privileges on DBNAME.* to USERNAME@localhost identified by 'PASSWORD'
2. mysqladmin -u 用户名-p 旧密码password 新密码
例1:给root 加个密码ab12。首先在DOS 下进入目录mysqlbin,然后键入
以下命令
mysqladmin -uroot password ab12
注:因为开始时root 没有密码,所以-p 旧密码一项就可以省略了。
2、例2:再将root 的密码改为djg345。
mysqladmin –u root -pab12 password djg345 (注意-p 不要和后面的密码分
开写,要写在一起)
3.
use mysql; update user set password =password('yourpass') where user='r
oot'
4. 载入权限表: `mysqladmin -h hostname flush-privileges' ,或者使
用SQL 命令`FLUSH PRIVILEGES'。(当然,在这里,你也可以重启mysqld。)
mysql 的建库,添加数据方法:
mysqi –u root
mysql>create database ttt;
mysql>source 1.txt
mysql>load data local infile "2.txt" into table board;
1.txt 内容:
CREATE TABLE board (
boardid int(11) NOT NULL auto_increment,
boardname char(255),
PRIMARY KEY (boardid)
); ......




-------------------------------------------------------------------------------------------------------------
1. 使用phpmyadmin,这是最简单的了,修改mysql库的user表,不过别忘了使用PASSWORD函数。
2. 使用mysqladmin, mysqladmin -u root -p password mypasswd
3. mysql> REPLACE INTO mysql.user (Host,User,Password) VALUES('%','username',PASSWORD('password'));
mysql> FLUSH PRIVILEGES
4. mysql> SET PASSWORD FORusername@"%" = PASSWORD('password');
这里的username是要修改的用户名称。
5. mysql> GRANT USAGE _disibledevent='mailto:username@"%'>username@"%" IDENTIFIED BY 'password';
这里的username是要修改的用户名称。  

    最后找到了修改遗失的MySQL的ROOT用户密码,嘿嘿好使了

如果忘记了 MySQL 的 root 密码,可以用以下方法重新设置:


1. KILL掉系统里的MySQL进程;

2. 用以下命令启动MySQL,以不检查权限的方式启动;

mysqld_safe -skip-grant-tables &

3. 然后用空密码方式使用root用户登录 MySQL;

mysql -u root

4. 修改root用户的密码;
mysql> update mysql.user set password=PASSWORD('新密码') where User='root';
mysql> flush privileges;
mysql> quit

5. 重新启动MySQL,就可以使用新密码登录了。

添加
可以设置同一个用户在不同的ip限定下,不同密码来访问,如:root,可以在192.168.38.70上访问:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.38.70' IDENTIFIED BY 'ads_root';
FLUSH PRIVILEGES;

也可以在其他机器上访问:root,可以在192.168.38.30上访问:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.38.30' IDENTIFIED BY 'ads_root';
FLUSH PRIVILEGES;

就是统一用户,但授权访问密码可以不同,也可以相同,但IP段不同。
分页: 223/339 第一页 上页 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 下页 最后页 [ 显示模式: 摘要 | 列表 ]