Database

解决远程连接mysql速度慢方法

星期日, 九月 30th, 2012 | Database, php | 没有评论

换个了mysql和 代码不在同一个机器上,开启远程连接mysql发现连接的速度好慢,总要加上加载网页的要2-3秒的时间,无法忍受;

在网上找了下原因,终于解决,方法还是挺简单的 .

在my.ini或者my.cnf 文件 的 [mysqld]处添加skip-name-resolve 重启即可

主要原因 是去跳过dns解析

1
2
3
4
5
[mysqld]
#dns cancel
skip-name-resolve
#grant cancel  no advocate (不提倡,此处跳过权限检查,即使更快)
skip-grant-tables

注意:1.skip-name-resolve 是禁用dns解析,可以大幅提升远程连接速度,副作用是不能使用 mysql的授权表中就不能使用主机名了,只能使用IP

2.对于要使用localhost的本机用户 要开启 127.0.0.1 给对应的用户权限,否则帐号无法连接,

本人的 root用户只开了localhost 的时候,发现不能连接上phpmyadmin,而后添加127.0.0.1的权限后,就一切正常了

3.skip-grant-tables 为跳过用户的对应的权限设置,即所有用户都是root权限,在特定的情况下使用吧.

Tags: , , , ,

Microsoft SQL Server 2008 (RTM) 升级到 Microsoft SQL Server 2008 R2的操作

星期三, 五月 16th, 2012 | Database | 没有评论

Microsoft SQL Server 2008 (RTM) 升级到 Microsoft SQL Server 2008 R2的操作 ,记录x64位系统和32位系统
使用:
select @@VERSION 查询版本号
32位系统显示:
Microsoft SQL Server 2008 (RTM) – 10.0.1600.22 (Intel X86) Jul 9 2008 14:43:34 Copyright (c) 1988-2008 Microsoft Corporation Developer Edition on Windows NT 6.0 (Build 6001: Service Pack 1)

去下载:SQLFULL_x86_CHS:http://care.dlservice.microsoft.com/dl/download/1/E/6/1E626796-588A-495C-917B-321093FB98EB/2052/SQLFULL_x86_CHS.exe?lcid=2052&ptype=pcare

64位系统显示:
Microsoft SQL Server 2008 (RTM) – 10.0.1600.22 (X64) Jul 9 2008 14:17:44 Copyright (c) 1988-2008 Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 (Build 7601: Service Pack 1)

去下载:SQLFULL_x64_CHS:http://care.dlservice.microsoft.com/dl/download/1/E/6/1E626796-588A-495C-917B-321093FB98EB/2052/SQLFULL_x64_CHS.exe?lcid=2052&ptype=pcare

以升级方式:(序列号在网上找的)
需要输入序列号,必须选这一项:
=========================================
数据中心版:PTTFM-X467G-P7RH2-3Q6CG-4DMYB
DDT3B-8W62X-P9JD6-8MX7M-HWK38
=========================================
企业版:R88PF-GMCFT-KM2KR-4R7GB-43K4B
GYF3T-H2V88-GRPPH-HWRJP-QRTYB
=========================================
标准版:CXTFT-74V4Y-9D48T-2DMFW-TX7CY
B68Q6-KK2R7-89WGB-6Q9KR-QHFDW
=========================================
开发版:MC46H-JQR3C-2JRHY-XYRKY-QWPVM
FTMGC-B2J97-PJ4QG-V84YB-MTXX8
=========================================
工组版:XQ4CB-VK9P3-4WYYH-4HQX3-K2R6Q
=========================================
WEB版:FP4P7-YKG22-WGRVK-MKGMX-V9MTM
=========================================

Tags: , , , ,

SQL Server的版本号(SQL Server 2000 & 2005 & 2008)及查看方法

星期日, 五月 13th, 2012 | Database | 没有评论

今天要查询自己的装的sqlserver2008 是否是R2版本,搜索了下,发现很多人查询此问题,现在记录如下,通过版本命令查询
同时也了解了哥哥sql server的对应版本好,一看就非常清晰了,记录下
一、查看 SQL Server 2005/2008 版本号

select serverproperty('productversion') ,serverproperty('productlevel') ,serverproperty('edition')

下面是 SQL Server 2005 版本号查询结果信息:

version level edition
———— —- ——————-
9.00.3042.00 SP2 Enterprise Edition

下表是 SQL Server 2005 版本号信息:

SQL Server 2005 版本号 SQL Server 2005 版本描述
———————– ——————————
2005.90.1399 RTM (Release to Manufacturing)
2005.90.2047 SQL Server 2005 SP1
2005.90.3042 SQL Server 2005 SP2
2005.90.4035 SQL Server 2005 SP3
2005.90.5000 SQL Server 2005 SP4

下表是 SQL Server 2008 版本号信息:

SQL Server 2008版本号 SQL Server 2008 版本描述
———————– ——————————
10.0.1600.22 RTM
10.00.2531.00 SQL Server 2008 SP1
10.00.4000.00 SQL Server 2008 SP2
10.50.1600.1 SQL Server 2008 R2 (RTM)
› Continue reading

Tags: , ,

mysql见鬼操作source备份sql失败记录

星期五, 五月 11th, 2012 | Database | 没有评论

很见鬼的操作,明明在命令行use databaseA,source 对应sql都显示成功.
完成去数据库查询,居然一个表都没有,重启电脑执行依然如故.
自己写个小的sql去source倒是可以.

解决办法: 关闭你的所谓360系列软件和你的杀毒软件系列
然后再执行,发现一切都正常了.

具体什么原因,我到现在也不得而知,彻底无语,难道防护过头了??

Tags: , ,

解决MYSQL超时连接问题(com.mysql.jdbc.MysqlIO.readFully)

星期一, 二月 6th, 2012 | Database | 2 Comments

程序后台报这个错误 at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2332) ,
** END NESTED EXCEPTION **

Last packet sent to the server was 34 ms ago.
这个问题主要原因是应用服务器很长时间没有连接mysql,超过了mysql设置的最大超时时间,再连接mysql就会出现这个问题。
mysql默认设置是8小时,一般网站白天都有人访问,从夜里到早上一般都会超过8小时,所以再来访问就会这个问题。

简单的解决办法就是修改最大超时时间,比如改为12小时或10小时,这样恰好避免了无人访问的时段,这里修改为10小时,方法如下:
看来下 wait_timeout 才15真不是一般的短,系统默认安装的就是麻烦.
设置下即可

mysql> show variables like ‘%timeout’;
+—————————-+——-+
| Variable_name | Value |
+—————————-+——-+
| connect_timeout | 15 |
| delayed_insert_timeout | 300 |
| innodb_lock_wait_timeout | 50 |
| innodb_rollback_on_timeout | OFF |
| interactive_timeout | 28800 |
| net_read_timeout | 30 |
| net_write_timeout | 60 |
| slave_net_timeout | 3600 |
| table_lock_wait_timeout | 50 |
| wait_timeout | 15 |
+—————————-+——-+
10 rows in set (0.00 sec)

mysql> set wait_timeout = 36000;
Query OK, 0 rows affected (0.00 sec)

mysql> set interactive_timeout = 36000;
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like ‘%timeout’;
› Continue reading

Tags: ,

SHOW PROFILES检测mysql的性能方法

星期一, 一月 23rd, 2012 | Database, JAVA-and-J2EE | 没有评论

在网上看使用sql的执行效率的mysql检测方法,实际上有更好的基于aop的方法进行所有的sql的效率执行效果,并不限于mysql还是oracle,不过有点影响效率,也可以关闭次方法,在dao级别进行拦截控制,明确每个的sql的执行效率.在阿里巴巴有个dao的开源框架,很不错的,需要的话可以猛点击Druid,这个不是本文记录要点啦.
MySQL Query Profile MySQL 5.0.37 以上开始支持 MySQL Query Profiler, 可以查询到此 SQL 会执行多少时间, 并看出 CPU/Memory 使用量, 执行过程中 System lock, Table lock 花多少时间等等.

详细可以参见官方文档:SHOW PROFILES Syntax

启动

mysql> set profiling=1;

Query OK, 0 rows affected (0.00 sec)

测试查询

mysql> select count(*) from client where broker_id=2;

+———-+

| count(*) |

+———-+

| 200 |

+———-+

1 row in set (0.00 sec)

查看profiles

mysql> show profiles;

+———-+————+———————————————–+

| Query_ID | Duration | Query |

+———-+————+———————————————–+

| 0 | 0.00007300 | set profiling=1 |

| 1 | 0.00044700 | select count(*) from client where broker_id=2 |

+———-+————+———————————————–+

2 rows in set (0.00 sec)

查看单条profile 查询的query 1 是第1条,不写的话是默认最后一条
› Continue reading

Tags: , , , ,

linux下重启oracle

星期一, 一月 16th, 2012 | Database, linux | 一条评论

网站的服务中断了,重启下发现是oralce服务不存在,又不想重启机器,就重新启动下oralce,再重启服务,搞定.
操作的为oracle9i:(其他应该也可以用吧记录如下)声明:坚挺器(应该理解的哦,信息发不出去,你懂的,就用这个了)
(1) 以oracle身份登录数据库,命令:su – oracle
(2) 进入Sqlplus控制台,命令:sqlplus /nolog
(3) 以系统管理员登录,命令:connect / as sysdba
(4) 启动数据库,命令:startup
(5) 如果是关闭数据库,命令:shutdown immediate
(6) 退出sqlplus控制台,命令:exit
(7) 进入坚挺器控制台,命令:lsnrctl
(8) 启动坚挺器,(如果已经启动就无需管了)命令:start
(9) 退出坚挺器控制台,命令:exit
(10) 重启数据库结束

Tags: , , , ,

oracle迁移至mysql小计

星期日, 十一月 6th, 2011 | Database, JAVA-and-J2EE | 没有评论

使用 navicat premium 点击下载 ,是收费版本,不过可以试用30天,挺好用的东西;推荐使用这个转换的速度很快,也蛮好

I. 首先遭遇cannot load oci.dll,
解决方案如下:
解决起来也方便官方给了wiki解决地址 http://wiki.navicat.com/wiki/index.php/Instant_client_required

简单之只要去http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 下载需要的客户端就可以,只要解压,在navicat的options的oci项目中选中oci.dll即可,sqlplus也选中你安装的oracle client标准版的sqlplus选项

II. 在连接oracle时候遇见 ORA-12705: invalid or unknown NLS parameter value 很郁闷的事情,出现此种是安装了oracle的客户端的时候有语言选项造成的;

解决方案如下:
改变环境变量的值:\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\NLS_LANG
1.cmd命令行中输入regedit 打开注册表,
2.搜索注册表中的NLS_LANG
3.改变这个值的编码格式,我的是中文:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
注: 听说有在eclipse遇见过此问题的,可以在ECLIPSE的参数启动改变,在eclipse.ini,进行编码的匹配,-DNLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK

Tags: , , , , ,

mysql的root密码丢失重置之ERROR 1045 (28000)

星期三, 十月 12th, 2011 | Database | 2 Comments

最新版的5.5.15的mysql在windows下安装到是蛮顺利(还支持至强cup不错不错),不过老是提示我root不对,在我登录的时候,另我十分崩溃,
在我重置了几次密码,依然无效的情况下,我崩溃了,准备换掉Windows系统,无意中打了系统的补丁,再卸载重新安装,居然好了,至今不知道是补丁的问题,还是重装的问题!
告诫下,下载再给windows装软件的时候最好更新下补丁包,省得出现此种怪事

命令行的一闪而过,可以cd到安装目录的bin下执行mysql
遭遇:ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)解决之道

1.以系统管理员身份登入windows系统。

2.如果mysql是启动的,先将它关闭。

3.打开命令视窗cmd。
如果在上一步骤,没有关闭mysql,可以用net start 查看mysql是否还在启动状态。在启动状态的话,就用net stop mysql的指令停止。

4.切换到mysql的安装路径的bin资料夹内,如果是预设路径,应该在的D:\MySQL\MySQL Server 5.5.15\bin之下。

5.执行mysqld –skip-grant-tables,这个指令用以启动mysql,但会跳过权限检查。

6.上个指令执行完后,命令视窗就停在mysql的运行状态,不能再输入指令了,所以要重新打开一个新的cmd命令视窗。
同样切换到mysql的安装路径的bin资料夹内,执行mysql

7.在mysql>的模式下,执行
update mysql.user set password=PASSWORD(‘123456′) where user=’root’;
flush privileges;
quit;
上面的步骤就可将忘记的密码重设。

8.回到dos命令模式,执行mysqladmin -u root -p shutdown,输入刚改过的密码123456。关掉目前mysql无权限的模式。

9.再正常启动mysql。

10.再输入 mysql -u root -p
就可以输入你的正确的密码了

Tags: , , , ,

mysql密码丢失后重设密码的方法(Unix&Linux&winxp)

星期五, 九月 24th, 2010 | Database | 没有评论

记录供自己以后用时参考
1)不用密码登录
  [root@test1 local]# mysql
  ERROR 1045: Access denied for user: ‘root@localhost’ (Using password: NO)
  显示错误,说明密码已经修改。
修改方法:
Unix&Linux:
1.用root或者运行mysqld的用户登录系统;
2.利用kill命令结束掉mysqld的进程;
3.使用–skip-grant-tables参数启动MySQL Server
shell>;mysqld_safe –skip-grant-tables &(写全路径)
4.为root@localhost设置新密码
shell>;mysqladmin -u root flush-privileges password “newpassword”,或直接进入mysql表中修改Password
如:
>;use mysql
>;update user set password=password(“new_pass” where user=”root”;
>;flush privileges;
5.重启MySQL Server
› Continue reading

Tags: ,

Search

文章分类

Links

Meta