提起赵高,人们自然会想起指鹿为马、沙丘政变。诚然,赵高是中国历史上搞阴谋、说假话之造极者,但赵高也并非一无是处,他不仅是推翻秦王朝的功臣,他还是自学成才的政治家、法学家、书法家。首先,我们应当承认,没有赵高发动的宫廷政变,尤其是胡亥上台后他肆无忌惮的“糟搞”,秦王朝肯定不会毁灭的如此之快。大家知道秦自商鞅变法,便日见强大,吞并六国,统一中原正是秦王朝改革后经济发展、政治进步、军事强大的结果。到了秦王政更是疆域广阔,一统天下,法规完善。然而,偌大一个秦王朝,竟被一个赵高“三下五除二”就玩掉了,我们不能不认真地审视一下赵高其人。
赵高是赵国宗室后裔,父母因不满秦国专横统治先后罹罪受刑,国仇家恨,赵高铭刻在心。然而,摆在赵高面前的复仇之路唯有一条:混入敌人内部,以阴谋与诡计取胜。为取得秦王赢政信任,他长期伪装、蜇伏,终于趁秦皇驾崩之际一举断送了秦王朝,真乃十年磨剑、在此一举呵。阅读全文
赵高是赵国宗室后裔,父母因不满秦国专横统治先后罹罪受刑,国仇家恨,赵高铭刻在心。然而,摆在赵高面前的复仇之路唯有一条:混入敌人内部,以阴谋与诡计取胜。为取得秦王赢政信任,他长期伪装、蜇伏,终于趁秦皇驾崩之际一举断送了秦王朝,真乃十年磨剑、在此一举呵。阅读全文
永久的数据库连接是指在您的脚本结束运行时不关闭的连接。当收到一个永久连接的请求时。PHP 将检查是否已经存在一个(前面已经开启的)相同的永久连接。如果存在,将直接使用这个连接;如果不存在,则建立一个新的连接。所谓“相同”的连接是指用相同的用户名和密码到相同主机的连接。
对 WEB 服务器的工作和分布负载没有完全理解的读者可能会错误地理解永久连接的作用。特别的,永久连接不会在相同的连接上为您提供建立“用户会话”的能力,也不提供有效建立事务的能力。实际上,从严格意义上来讲,永久连接不会给您提供任何非永久连接无法提供的特殊功能。阅读全文
对 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语句是性能的瓶颈,进行优化,比如加索引,该应用的实现方式等。 ......
要修改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上访问:
也可以在其他机器上访问:root,可以在192.168.38.30上访问:
就是统一用户,但授权访问密码可以不同,也可以相同,但IP段不同。
#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;
FLUSH PRIVILEGES;
也可以在其他机器上访问:root,可以在192.168.38.30上访问:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.38.30' IDENTIFIED BY 'ads_root';
FLUSH PRIVILEGES;
FLUSH PRIVILEGES;
就是统一用户,但授权访问密码可以不同,也可以相同,但IP段不同。
一、MYSQL存储引擎大全:
·MyISAM:默认的MySQL插件式存储引擎,它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。注意,通过更改STORAGE_ENGINE配置变量,能够方便地更改MySQL服务器的默认存储引擎。
·InnoDB:用于事务处理应用程序,具有众多特性,包括ACID事务支持。
·BDB:可替代InnoDB的事务引擎,支持COMMIT、ROLLBACK和其他事务特性。
·Memory:将所有数据保存在RAM中,在需要快速查找引用和其他类似数据的环境下,可提供极快的访问。
·Merge:允许MySQL
DBA或开发人员将一系列等同的MyISAM表以逻辑方式组合在一起,并作为1个对象引用它们。对于诸如数据仓储等VLDB环境十分适合。
·Archive:为大量很少引用的历史、归档、或安全审计信息的存储和检索提供了完美的解决方案。
·Federated:能够将多个分离的MySQL服务器链接起来,从多个物理服务器创建一个逻辑数据库。十分适合于分布式环境或数据集市环境。
·Cluster/NDB:MySQL的簇式数据库引擎,尤其适合于具有高性能查找要求的应用程序,这类查找需求还要求具有最高的正常工作时间和可用性。
·Other:其他存储引擎包括CSV(引用由逗号隔开的用作数据库表的文件),Blackhole(用于临时禁止对数据库的应用程序输入),以及Example引擎(可为快速创建定制的插件式存储引擎提供帮助)。
请记住,对于整个服务器或方案,你并不一定要使用相同的存储引擎,你可以为方案中的每个表使用不同的存储引擎,这点很重要。
二、重点比较MySQL的InnoDB和MyISAM
(1)、InnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定。
高级处理:
MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。
执行速度:
MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快。
移值性:
MyISAM类型的二进制数据文件可以在不同操作系统中迁移。也就是可以直接从Windows系统拷贝到linux系统中使用。
(2)、MyIASM是IASM表的新版本,有如下扩展:
1、二进制层次的可移植性。
2、NULL列索引。
3、对变长行比ISAM表有更少的碎片。
4、支持大文件。
5、更好的索引压缩。
6、更好的键码统计分布。
7、更好和更快的auto_increment处理。
InnoDB 是 MySQL 上第一个提供外键约束的引擎,除了提供事务处理外,InnoDB
还支持行锁,提供和 Oracle 一样的一致性的不加锁读取,能增加并发读的用户数?......
·MyISAM:默认的MySQL插件式存储引擎,它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。注意,通过更改STORAGE_ENGINE配置变量,能够方便地更改MySQL服务器的默认存储引擎。
·InnoDB:用于事务处理应用程序,具有众多特性,包括ACID事务支持。
·BDB:可替代InnoDB的事务引擎,支持COMMIT、ROLLBACK和其他事务特性。
·Memory:将所有数据保存在RAM中,在需要快速查找引用和其他类似数据的环境下,可提供极快的访问。
·Merge:允许MySQL
DBA或开发人员将一系列等同的MyISAM表以逻辑方式组合在一起,并作为1个对象引用它们。对于诸如数据仓储等VLDB环境十分适合。
·Archive:为大量很少引用的历史、归档、或安全审计信息的存储和检索提供了完美的解决方案。
·Federated:能够将多个分离的MySQL服务器链接起来,从多个物理服务器创建一个逻辑数据库。十分适合于分布式环境或数据集市环境。
·Cluster/NDB:MySQL的簇式数据库引擎,尤其适合于具有高性能查找要求的应用程序,这类查找需求还要求具有最高的正常工作时间和可用性。
·Other:其他存储引擎包括CSV(引用由逗号隔开的用作数据库表的文件),Blackhole(用于临时禁止对数据库的应用程序输入),以及Example引擎(可为快速创建定制的插件式存储引擎提供帮助)。
请记住,对于整个服务器或方案,你并不一定要使用相同的存储引擎,你可以为方案中的每个表使用不同的存储引擎,这点很重要。
二、重点比较MySQL的InnoDB和MyISAM
(1)、InnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定。
高级处理:
MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。
执行速度:
MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快。
移值性:
MyISAM类型的二进制数据文件可以在不同操作系统中迁移。也就是可以直接从Windows系统拷贝到linux系统中使用。
(2)、MyIASM是IASM表的新版本,有如下扩展:
1、二进制层次的可移植性。
2、NULL列索引。
3、对变长行比ISAM表有更少的碎片。
4、支持大文件。
5、更好的索引压缩。
6、更好的键码统计分布。
7、更好和更快的auto_increment处理。
InnoDB 是 MySQL 上第一个提供外键约束的引擎,除了提供事务处理外,InnoDB
还支持行锁,提供和 Oracle 一样的一致性的不加锁读取,能增加并发读的用户数?......
一、MYSQL存储引擎大全:
·MyISAM:默认的MySQL插件式存储引擎,它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。注意,通过更改STORAGE_ENGINE配置变量,能够方便地更改MySQL服务器的默认存储引擎。
·InnoDB:用于事务处理应用程序,具有众多特性,包括ACID事务支持。
·BDB:可替代InnoDB的事务引擎,支持COMMIT、ROLLBACK和其他事务特性。
·Memory:将所有数据保存在RAM中,在需要快速查找引用和其他类似数据的环境下,可提供极快的访问。
·Merge:允许MySQL
DBA或开发人员将一系列等同的MyISAM表以逻辑方式组合在一起,并作为1个对象引用它们。对于诸如数据仓储等VLDB环境十分适合。
·Archive:为大量很少引用的历史、归档、或安全审计信息的存储和检索提供了完美的解决方案。
·Federated:能够将多个分离的MySQL服务器链接起来,从多个物理服务器创建一个逻辑数据库。十分适合于分布式环境或数据集市环境。
·Cluster/NDB:MySQL的簇式数据库引擎,尤其适合于具有高性能查找要求的应用程序,这类查找需求还要求具有最高的正常工作时间和可用性。
·Other:其他存储引擎包括CSV(引用由逗号隔开的用作数据库表的文件),Blackhole(用于临时禁止对数据库的应用程序输入),以及Example引擎(可为快速创建定制的插件式存储引擎提供帮助)。
请记住,对于整个服务器或方案,你并不一定要使用相同的存储引擎,你可以为方案中的每个表使用不同的存储引擎,这点很重要。
二、重点比较MySQL的InnoDB和MyISAM
(1)、InnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定。
高级处理:
MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。
执行速度:
MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快。
移值性:
MyISAM类型的二进制数据文件可以在不同操作系统中迁移。也就是可以直接从Windows系统拷贝到linux系统中使用。
(2)、MyIASM是IASM表的新版本,有如下扩展:
1、二进制层次的可移植性。
2、NULL列索引。
3、对变长行比ISAM表有更少的碎片。
4、支持大文件。
5、更好的索引压缩。
6、更好的键码统计分布。
7、更好和更快的auto_increment处理。
InnoDB 是 MySQL 上第一个提供外键约束的引擎,除了提供事务处理外,InnoDB
还支持行锁,提供和 Oracle 一样的一致性的不加锁读取,能增加并发读的用户数?......
·MyISAM:默认的MySQL插件式存储引擎,它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。注意,通过更改STORAGE_ENGINE配置变量,能够方便地更改MySQL服务器的默认存储引擎。
·InnoDB:用于事务处理应用程序,具有众多特性,包括ACID事务支持。
·BDB:可替代InnoDB的事务引擎,支持COMMIT、ROLLBACK和其他事务特性。
·Memory:将所有数据保存在RAM中,在需要快速查找引用和其他类似数据的环境下,可提供极快的访问。
·Merge:允许MySQL
DBA或开发人员将一系列等同的MyISAM表以逻辑方式组合在一起,并作为1个对象引用它们。对于诸如数据仓储等VLDB环境十分适合。
·Archive:为大量很少引用的历史、归档、或安全审计信息的存储和检索提供了完美的解决方案。
·Federated:能够将多个分离的MySQL服务器链接起来,从多个物理服务器创建一个逻辑数据库。十分适合于分布式环境或数据集市环境。
·Cluster/NDB:MySQL的簇式数据库引擎,尤其适合于具有高性能查找要求的应用程序,这类查找需求还要求具有最高的正常工作时间和可用性。
·Other:其他存储引擎包括CSV(引用由逗号隔开的用作数据库表的文件),Blackhole(用于临时禁止对数据库的应用程序输入),以及Example引擎(可为快速创建定制的插件式存储引擎提供帮助)。
请记住,对于整个服务器或方案,你并不一定要使用相同的存储引擎,你可以为方案中的每个表使用不同的存储引擎,这点很重要。
二、重点比较MySQL的InnoDB和MyISAM
(1)、InnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定。
高级处理:
MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。
执行速度:
MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快。
移值性:
MyISAM类型的二进制数据文件可以在不同操作系统中迁移。也就是可以直接从Windows系统拷贝到linux系统中使用。
(2)、MyIASM是IASM表的新版本,有如下扩展:
1、二进制层次的可移植性。
2、NULL列索引。
3、对变长行比ISAM表有更少的碎片。
4、支持大文件。
5、更好的索引压缩。
6、更好的键码统计分布。
7、更好和更快的auto_increment处理。
InnoDB 是 MySQL 上第一个提供外键约束的引擎,除了提供事务处理外,InnoDB
还支持行锁,提供和 Oracle 一样的一致性的不加锁读取,能增加并发读的用户数?......
mysql里最常用的日志有4种,分别是:错误日志,二进制日志,查询日志以及满查询日志. 1.错误日志会记录当mysql启动和关闭以及运行中的错误信息,可以使用 --log-error[=file_name]来指定错误日志存放文件.当mysql server异常的时候应该首先查看该日志.其实里面也没什么,我英语四级没过,配上词霸目前为止还没有碰到解决不了的问题,呵呵.默认是存放在datadir里的主机名.err. 2.二进制日志存放了所有的ddl和dml操作记录 --log-bin[=file_name]选项启动时,mysqld写入包含所有更新数据的SQL命令的日志文件。如果未给出file_name值, 默认名为-bin后面所跟的主机名。二进制日志并不可以直接查看,需要客户端工具mysqlbinlog log-file 查看 mysqld在每个二进制日志名后面添加一个数字扩展名。每次你启动服务器或刷新日志时该数字则增加。如果当前的日志大小达到max_binlog_size,还会自动创建新的二进制日志。如果你正使用大的事务,二进制日志还会超过max_binlog_size:事务全写入一个二进制日志中,绝对不要写入不同的二进制日志中。 为了能够知道还使用了哪个不同的二进制日志文件,mysqld还创建一个二进制日志索引文件,包含所有使用的二进制日志文件的文件名。默认情况下与二进制日志文件的文件名相同,扩展名为'.index'。你可以用--log-bin-index[=file_name]选项更改二进制日志索引文件的文件名。当mysqld在运行时,不应手动编辑该文件;如果这样做将会使mysqld变得混乱。 可以用以下语句删除二进制日志 reset master;#删除所有二进制日志 purge master logs to 'mysql-bin.******';#删除******编号之前的二进制日志 purge master logs before 'yyyy-mm-dd hh24:mm:ss'#删除指定日期之前的日志 还可以设置--expire_logs_days=*;#设置日志过期天数,过期自动删除. --binlog-do-db=db_name#指定数据库开启二进制日志,类似的有ignore. innodb有 --innodb-safe-binlog以及--sync-binlog=n(每写n次日志同步磁盘) 可以通过set sql_log_bin=0禁用二进制日志. 3.查询日志,记录所有查询语句,二进制日志不记录之查询的语句 --log[=file_name]可以启动查询日志,默认是在datadir里的主机名.log,由于会消耗大量磁盘io资源,一般情况下建议禁用. 4.慢查询日志 --log-slow-queries[=file_name]默认是在datadir下的主机名.slow.log --log-short-format#忽略掉不使用索引的慢查询 --log-slow-admin-statements#将记录慢管理语句 set long_query_time=n;#设定慢查询的时间,单位为秒. 建议使用客户端工具mysqldumpslow来查看满查询日志.
环境:两台服务器IP:192.168.30.57\192.168.30.58
1、下载mysql-5.0.86-linux-i686-glibc23.tar.gz 到http://dev.mysql.com/downloads/mysql/5.0.html#linux下载
2、解压 tar -zxvf
mysql-5.0.86-linux-i686-glibc23.tar.gz
3、创建链接 ln -s
mysql-5.0.86-linux-i686-glibc23
mysql
4、进入mysql
目录下 cd mysql
5:新建 mysql 用户组
groupadd mysql
6:新建 mysql用户并属于mysql用户组
useradd -g mysql mysql
7:执行安装脚本:
scripts/mysql_install_db --user=mysql
8:改变属组 (注意小数点)
chown -R root . (注意小数点)
9:改变数据属组
chown -R mysql data
10:输入命令 chgrp -R mysql . (注意小数点)
11、拷贝配置文件 cp supports-files/my-lagre.cnf /etc/my.cnf
12、启动mysql阅读全文
1、下载mysql-5.0.86-linux-i686-glibc23.tar.gz 到http://dev.mysql.com/downloads/mysql/5.0.html#linux下载
2、解压 tar -zxvf
mysql-5.0.86-linux-i686-glibc23.tar.gz
3、创建链接 ln -s
mysql-5.0.86-linux-i686-glibc23
mysql
4、进入mysql
目录下 cd mysql
5:新建 mysql 用户组
groupadd mysql
6:新建 mysql用户并属于mysql用户组
useradd -g mysql mysql
7:执行安装脚本:
scripts/mysql_install_db --user=mysql
8:改变属组 (注意小数点)
chown -R root . (注意小数点)
9:改变数据属组
chown -R mysql data
10:输入命令 chgrp -R mysql . (注意小数点)
11、拷贝配置文件 cp supports-files/my-lagre.cnf /etc/my.cnf
12、启动mysql阅读全文
#include <stdio.h>
#include <windows.h>
#include <mysql.h>
#define host "localhost"
#define username "root"
#define password "123"
#define database "oa"
MYSQL *conn;
int main()
{
MYSQL_RES *res_set;
MYSQL_ROW row;
unsigned int i,ret;
FILE *fp;
MYSQL_FIELD *field;
unsigned int num_fields;
conn = mysql_init(NULL);
ret = mysql_options(conn, MYSQL_SET_CHARSET_NAME, "gbk");
mysql_real_connect(conn,host,username,password,database,0,NULL,0);
fp = fopen ( "t_sys_power.out","w");
fprintf(fp,"char set %s\n", mysql_character_set_name(conn));
mysql_query(conn,"SELECT * from t_sys_power ");//WHERE a1='abc'");
res_set = mysql_store_result(conn);
while((field = mysql_fetch_field(res_set)))
{
printf("field name %s\n", field->name);
}
num_fields = mysql_num_fields(res_set);
for(i = 0; i < num_fields; i++)
{
field = mysql_fetch_field_direct(res_set, i);
printf("Field %u is %s\n", i, field->name);
}
while ((row = mysql_fetch_row(res_set)) != NULL)
{
for (i=0; i<mysql_num_fields(res_set); i++)
{
fprintf(fp,"%s\n",row[i] != NULL ? row[i] : "NULL");
}
}
mysql_close(conn);
fclose(fp);
return 0;
}
#include <windows.h>
#include <mysql.h>
#define host "localhost"
#define username "root"
#define password "123"
#define database "oa"
MYSQL *conn;
int main()
{
MYSQL_RES *res_set;
MYSQL_ROW row;
unsigned int i,ret;
FILE *fp;
MYSQL_FIELD *field;
unsigned int num_fields;
conn = mysql_init(NULL);
ret = mysql_options(conn, MYSQL_SET_CHARSET_NAME, "gbk");
mysql_real_connect(conn,host,username,password,database,0,NULL,0);
fp = fopen ( "t_sys_power.out","w");
fprintf(fp,"char set %s\n", mysql_character_set_name(conn));
mysql_query(conn,"SELECT * from t_sys_power ");//WHERE a1='abc'");
res_set = mysql_store_result(conn);
while((field = mysql_fetch_field(res_set)))
{
printf("field name %s\n", field->name);
}
num_fields = mysql_num_fields(res_set);
for(i = 0; i < num_fields; i++)
{
field = mysql_fetch_field_direct(res_set, i);
printf("Field %u is %s\n", i, field->name);
}
while ((row = mysql_fetch_row(res_set)) != NULL)
{
for (i=0; i<mysql_num_fields(res_set); i++)
{
fprintf(fp,"%s\n",row[i] != NULL ? row[i] : "NULL");
}
}
mysql_close(conn);
fclose(fp);
return 0;
}
//选择->目录:include:C:\PROGRAM FILES\MYSQL\MYSQL SERVER 5.0\INCLUDE(compiler option,directories,c++include)
//选择->目录:lib :C:\PROGRAM FILES\MYSQL\MYSQL SERVER 5.0\LIB\OPT(compiler option,directories,libraies)
//工程:设置:link:libmysql.lib(update下载libmysql,安装之后,project,projcect option,parameters,linker中输入-lmysql
)
//libmysql.dll拷贝到可执行文件相同目录,或者系统目录下 ......
唉!现代社会的人越来越懒,假如派他们去西天取经,他们挑选徒弟的标准,首先绝不是降妖除魔,而是怎样让自己过得舒服。缺乏生活情趣之辈——如孙悟空等,铁定被排除在外,所以齐天大圣还得在五行山下再压一阵子,直到脑袋开窍了为止。
下面就是他们选中的取经组合,暂时仅限从金庸小说中选人。阅读全文
下面就是他们选中的取经组合,暂时仅限从金庸小说中选人。阅读全文
这天,白云酒楼里来了两位客人,一男一女,四十岁上下,穿着不俗,男的还拎着一个旅行包,看样子是一对出来旅游的夫妻。
阅读全文
阅读全文
来源:http://www.jb51.net/article/15671_2.htm
很多人首先会想从服务器缓存方面着手对程序进行优化,许多不同的服务器缓存方式都有他们自己的特点,像我曾经参与的一些项目中,根据缓存的命中率不同使用过 Com+/Enterprise Libiary Caching/Windows服务,静态文件等方式的服务器端缓存和 HTTP Compression技术,但客户端缓存往往却被人们忽略了,即使服务器的缓存让你的页面访问起来非常地快,但她依然需要依赖浏览器下载并输出,而当你加入客户端缓存时,会给你带来非常多的好处.因为她可以对站点中访问最频繁的页进行缓存充分地提高 Web 服务器的吞吐量(通常以每秒的请求数计算)以提升应用程序性能和可伸缩性。
一个在线购物调查显示,大多数人愿意去商店排队,但在在线购物时却不愿意等待。Websense调查公司称多达70%的上网者表示不愿意在页面读取上超过10秒钟。超过70%的人会因为中途速度过慢而取消当前的订单。 阅读全文
很多人首先会想从服务器缓存方面着手对程序进行优化,许多不同的服务器缓存方式都有他们自己的特点,像我曾经参与的一些项目中,根据缓存的命中率不同使用过 Com+/Enterprise Libiary Caching/Windows服务,静态文件等方式的服务器端缓存和 HTTP Compression技术,但客户端缓存往往却被人们忽略了,即使服务器的缓存让你的页面访问起来非常地快,但她依然需要依赖浏览器下载并输出,而当你加入客户端缓存时,会给你带来非常多的好处.因为她可以对站点中访问最频繁的页进行缓存充分地提高 Web 服务器的吞吐量(通常以每秒的请求数计算)以提升应用程序性能和可伸缩性。
一个在线购物调查显示,大多数人愿意去商店排队,但在在线购物时却不愿意等待。Websense调查公司称多达70%的上网者表示不愿意在页面读取上超过10秒钟。超过70%的人会因为中途速度过慢而取消当前的订单。 阅读全文
来源:http://bbs.news.163.com/bbs/society/157056799.html
摘录如下:
前几日收到在大连工作时的女友na的短信,她告诉我与相爱了五年的男友分手了,她们分手的原因不是因为不在相爱,就是因为没钱才分开的。她告诉我她不是一个爱慕虚荣的女人,但是在一起五年了,男友仍然一贫如洗,在城市里这样下去该怎样生活?如果结婚了,有个孩子怎么办?自己也快三十了。她告诉我她不该当初傻傻的就恋爱了,如今有不得不放弃这段感情,发现自己也不在年轻了,她说我该怎么办呢?阅读全文
摘录如下:
前几日收到在大连工作时的女友na的短信,她告诉我与相爱了五年的男友分手了,她们分手的原因不是因为不在相爱,就是因为没钱才分开的。她告诉我她不是一个爱慕虚荣的女人,但是在一起五年了,男友仍然一贫如洗,在城市里这样下去该怎样生活?如果结婚了,有个孩子怎么办?自己也快三十了。她告诉我她不该当初傻傻的就恋爱了,如今有不得不放弃这段感情,发现自己也不在年轻了,她说我该怎么办呢?阅读全文
1858年,瑞典的一个富豪人家生下了一个女儿。然而不久,孩子染患了一种无法解释的瘫痪症,丧失了走路的能力。
一次,女孩和家人一起乘船旅行。船长的太太给孩子讲船长有一只天堂鸟,她被这只鸟的描述迷住了,极想亲自看一看。于是保姆把孩子留在甲板上,自己去找船长。孩子耐不住性子等待,她要求船上的服务生立即带她去看天堂鸟。那服务生并不知道她的腿不能走路,而只顾带着她一道去看那只美丽的小鸟。奇迹发生了,孩子因为过度地渴望,竟忘我地拉住服务生的手,慢慢地走了起来。从此,孩子的病便痊愈了。女孩子长大后,又忘我地投入到文学创作中,最后成为第一位荣获诺贝尔文学奖的女性,也就是茜尔玛;拉格萝芙。
温馨提示:忘我是走向成功的一条捷径,只有在这种环境中,人才会超越自身的束缚,释放出最大的能量。
一次,女孩和家人一起乘船旅行。船长的太太给孩子讲船长有一只天堂鸟,她被这只鸟的描述迷住了,极想亲自看一看。于是保姆把孩子留在甲板上,自己去找船长。孩子耐不住性子等待,她要求船上的服务生立即带她去看天堂鸟。那服务生并不知道她的腿不能走路,而只顾带着她一道去看那只美丽的小鸟。奇迹发生了,孩子因为过度地渴望,竟忘我地拉住服务生的手,慢慢地走了起来。从此,孩子的病便痊愈了。女孩子长大后,又忘我地投入到文学创作中,最后成为第一位荣获诺贝尔文学奖的女性,也就是茜尔玛;拉格萝芙。
温馨提示:忘我是走向成功的一条捷径,只有在这种环境中,人才会超越自身的束缚,释放出最大的能量。
Zend Studio for Eclipse 7.0.2提示代码的速度加快了!
大家可以赶紧去看看喔:
http://www.laonb.com/archives/7740/
大家可以赶紧去看看喔:
http://www.laonb.com/archives/7740/
group表有个varchar 的字段groupPower,值为1,2,3,4,有个sql语句为
执行出错将 varchar 值 '1,2,3,4' 转换为数据类型为 int 的列时发生语法错误。
解决方法:
将where 条件改为:
CHAR类型都有个最大长度,超过长度的无法保存,不够长度留空。VARCHAR也有一个最大长度,但是当数据长度不够的时候,按照实际数据长度分配空间,少浪费,但查询的时候效率有影响。
SQL中enum、varchar、int+join查询速度比较 :
http://unix-cd.com/vc/www/26/2009-04/13675.html
select * from dbo.function where
functionId in
(
select groupPower from dbo.group
where groupid=1
)
functionId in
(
select groupPower from dbo.group
where groupid=1
)
执行出错将 varchar 值 '1,2,3,4' 转换为数据类型为 int 的列时发生语法错误。
解决方法:
将where 条件改为:
where charindex(rtrim(functionId), (select top 1 groupPower from loan_group where groupid=1 ))>0
就ok了!CHAR类型都有个最大长度,超过长度的无法保存,不够长度留空。VARCHAR也有一个最大长度,但是当数据长度不够的时候,按照实际数据长度分配空间,少浪费,但查询的时候效率有影响。
SQL中enum、varchar、int+join查询速度比较 :
http://unix-cd.com/vc/www/26/2009-04/13675.html
赋予普通用户挂载光驱的权限阅读全文