1、前言
Java JDBC:
a)检查查询字串是否用了PreparedStatement对象
5、
些小窍门1)如果不慎忘记了MySQL
![](/icons/50510de.gif)
root密码
![](/icons/50510dou.gif)
我们可以在启动MySQL服务器时加上参数--skip-grant-tables来跳过授权表
![](/icons/50510de.gif)
验证 (./safe_mysqld --skip-grant-tables &)
![](/icons/50510dou.gif)
这样我们就可以直接登陆MySQL服务器
![](/icons/50510dou.gif)
然后再修改root用户
![](/icons/50510de.gif)
口令
![](/icons/50510dou.gif)
重启MySQL就可以用新口令登陆了
![](/icons/50510dou2.gif)
2)启动MySQL服务器时加上--skip-show-database使
![](/icons/50510yi.gif)
般数据库用户不能浏览其它数据库
![](/icons/50510dou2.gif)
3)启动MySQL服务器时加上--chroot=path参数
![](/icons/50510dou.gif)
让mysqld守护进程运行在chroot环境中
![](/icons/50510dou2.gif)
这样SQL语句LOAD DATA INFILE和SELECT ... INTO OUTFILE就限定在chroot_path下读写文件了
![](/icons/50510dou2.gif)
这里有
![](/icons/50510yi.gif)
点要注意
![](/icons/50510dou.gif)
MySQL启动后会建立
![](/icons/50510yi.gif)
个mysql.sock文件
![](/icons/50510dou.gif)
默认是在/tmp目录下
![](/icons/50510dou2.gif)
使用了chroot后
![](/icons/50510dou.gif)
MySQL会在chroot_path/tmp去建立mysql.sock文件
![](/icons/50510dou.gif)
如果没有chroot_path/tmp目录或启动MySQL
![](/icons/50510de.gif)
用户没有这个目录写权限就不能建立mysql.sock文件
![](/icons/50510dou.gif)
MySQL会启动失败
![](/icons/50510dou2.gif)
比如我们加了--chroot=/usr/local/mysql/启动参数
![](/icons/50510dou.gif)
那么最好建立
![](/icons/50510yi.gif)
个启动MySQL
![](/icons/50510de.gif)
用户能写
![](/icons/50510de.gif)
/usr/local/mysql/tmp目录
![](/icons/50510dou.gif)
当然我们也可以用--
![](/icons/50510socket.gif)
=path来指定mysql.sock文件
![](/icons/50510de.gif)
路径
![](/icons/50510dou.gif)
但这个path
![](/icons/50510yi.gif)
定要在chroot_path里面
![](/icons/50510dou2.gif)
4)启动MySQL服务器时加上--log-slow-queries[=file]参数
![](/icons/50510dou.gif)
这样mysqld会把SQL命令执行时间超过long_query_time
![](/icons/50510de.gif)
写入file文件
![](/icons/50510dou2.gif)
如果没有指定=file
![](/icons/50510dou.gif)
mysqld默认会写到数据目录下
![](/icons/50510de.gif)
hostname-slow.log
![](/icons/50510dou2.gif)
如果只指定了filename
![](/icons/50510dou.gif)
没有指定路径
![](/icons/50510dou.gif)
那么mysqld也会把filename写到数据目录下
![](/icons/50510dou2.gif)
我们通过这个日志文件可以找出执行时间超长
![](/icons/50510de.gif)
查询语句
![](/icons/50510dou.gif)
然后尽可能
![](/icons/50510de.gif)
优化它减轻MySQL服务器
![](/icons/50510de.gif)
负担
![](/icons/50510dou2.gif)
5)如果我们只需本机使用MySQL服务
![](/icons/50510dou.gif)
那么我们还可以加上--skip-networking启动参数使MySQL不监听任何TCP/IP连接
![](/icons/50510dou.gif)
增加安全性
![](/icons/50510dou2.gif)
(非常推荐)
6)MySQL
![](/icons/50510de.gif)
更多mysqld启动选项请见MySQL手册4.16.4 mysqld Command-line Options
6、ReferencesMySQL Manual(http://www.mysql.com/documentation/index.html)
晏子
![](/icons/50510de.gif)
MySQL管理员指南(http://clyan.hongnet.com/index.html)
Access Granted(http://www.devshed.com/Server_Side/MySQL/Access)