??xml version="1.0" encoding="utf-8" standalone="yes"?> JDKQ?.5.0 ?a >http://java.sun.com上去下蝲安装 Eclipse使用技巧之插g理 提示Q新下蝲的插件PlugIn一定不要都攑֜原始的Eclipse目录下去Q一大堆Q篏MQ( 比如QE:\OpenSource\Eclipse\PlugInsNew\ 那么在%ECLIPSE_HOME%\PlugInsNew\目录下徏立XYZ目录Q目录里面是eclipse目录Qeclipse目录包含有features与plugins两个子目录;l构如下图所C: %ECLIPSE_HOME%\PlugInsNew\XYZ\eclipse\features 然后?ECLIPSE_HOME%\links目录里徏立一个XYZ.link的文?br>内容如是Qpath=E:/OpenSource/Eclipse/PlugInsNew/XYZ׃行这L路径指示而已?br>q样Q如果你下蝲了多个插件就可以如法炮制建立多个Link文gQ想加蝲哪个插g把哪个插g的Link文g攑ֈ%ECLIPSE_HOME%\links的目录中卛_Q用与理都很方便Q徏议千万不要放在默认的安装目录中; 删除%ECLIPSE_HOME%\links\XYZ.link文g卛_ SQLExplorer插g安装Ҏ采用上一节的《Eclipse使用技巧之插g理?br> 重新启动Eclipse后,可以在菜单Window => Show View => Other => 可以看到多了SQLExplorer 下面会分别介l这七项内容的具体用: 菜单Window => Preferences => SQLExplorer 菜单Window => Preferences => SQLExplorer => SQL Editor 菜单Window => Show View => Other => SQLExplorer 把里面的七项内容全部昄出来Q你也可以自p行定制一下它 开始进行配|驱动程序,打开Drivers 默认加蝲成功插g后,只有JDBC ODBC Bridge是打勑֏用的Q其它都是打U不可用的Q想惛_知道Z么了吧(^_^Q?/p>
没有惛_来,接下来看看吧 可以在弹出的修改驱动E序中看到如下信息,在Driver Class Name昄的是 接下来我们开始配|MySQL和Oracle的驱动程序: 在弹出的修改驱动E序中看刎ͼ在Driver Class Name昄的是org.gjt.mm.mysql.Driver 加入驱动E序如下所C: 单击List Drivers按钮Q在Driver Class Name的右下框中可以看C个驱动类名,选择你需要的一个,OK之即可?/p>
可以看到q下MMMySQL Driver也ؓ打勾可以使用的状态了?/p>
以同LҎ配置Oracle Thin Driver驱动E序 默认驱动名称Q添加驱动程序: 可以看到两个驱动E序的名U?/p>
配置好驱动程序后Q可以开始创接了Q切换到Aliases别名视图 选择MMMySQL Driver 填入别名的名U、JDBCq接串URL、用户名、密?/p>
定后,在Aliases别名视图里出现刚建立的连?/p>
右键刚徏立的数据库连接别名,在弹出的菜单选择Open…打开之?/p>
会弹Z个连接的认框,你可以更改用户名与密码,也可以设|是否自动提交?/p>
定后,会自动切换到Database Structure View视图上,MySQL数据库,则可以看到Database 再打开它,可以看到数据库名QTable表及表的个数与名UC?/p>
选中其中的表userpwdQ这个表是自己徏立的Q可以看C下显C列、烦引、主键、外键、结果集预览、行数共六个信息内容?/p>
以下昄表的列信?/p>
以下昄索引信息 以下昄主键信息 以下昄外键信息 以下昄l果集预览的内容 以下昄的是记录行数信息 切换到Connection Infoq接信息的视图,可以看到q接数据库时的相关信息, 昄默认的事务状?/p>
切换到Connnections视图Q显C当前数据库zd的连接情况,有一个活动的q接?/p>
右上角,可以打开Open New Connection图标来打开一个新的连接,比如q接到相同的数据库,但是却是不同的用?/p>
右上角,单击New SQL Editor图标Q创Z个新的SQL~辑器,来写你的SQL语句 在打开的SQL~辑器中Q你可以开始写SQL语句了,如下Q?/p>
切换到SQL History 执行SQL的历史记录的视图Q可以看C执行q的语句列表 再写一个不同的语句Q演C结果集与SQL历史记录 q样在SQL History里就再增加上了一条执行语句的记录?/p>
同样增加一个Oracle的连接测?/p>
Oracle数据库,在Database Structure View视图里显C有Database、Monitor、Security、Instance四项内容 可以在结果集里得到如果内容,在第4个标{栏里了 得到如下内容Q在W?个标{栏里了 SQL历史记录里可以看到执行过的四条信息了 q个插g的用应当不是很Ҏ的,其它的应用技巧与Ҏl箋中?/p>
]]>安装
EclipseQ?.1.1 ?a >http://www.eclipse.org 上去下蝲解压
SQLExplorer ?a >http://eclipsesql.sourceforge.net/技?/h1>
%ECLIPSE_HOME%\PlugInsNew\ XYZ\eclipse\plugins
如果你的%ECLIPSE_HOME%与此不同Q请修改XYZ.link文g里的路径
删除%ECLIPSE_HOME%\PlugInsNew\XYZ整个目录及文?/p>
使用
展开SQLExplorer有七内容,分别为:
如下图所C:
双的项目中Q可以设|预览表l果集时q回的行数、SQL集的q回行数、是否自动提交、还是关闭SQL~辑H口后提交和写SQL时是否自动完成表和列名?/p>
双的项目中Q可以设|SQL~辑器里的字体属性、文本属?/p>
右键JDBC ODBC BridgeQ在弹出的菜单中点击Change the selected Driver菜单
sun.jdbc.odbc.JdbcOdbcDriver
因ؓ从JDK1.2开始,在JDK里自动带有这个驱动程序了Q所以显CZؓ可用了:Q?/p>
右键MMMySQL DriverQ在弹出的菜单中点击Change the selected Driver菜单
点击Extra Class Path => Add => 选择你的MySQL所在的路径Q加入它
点击创徏图标Q如下:
如,数据库品名UMySQL、版?.1.0a-nt
JDBC驱动E序的名UMySQL-AB JDBC Driver、版本mysql-connector-java-3.0.16-ga
用户名test@localhost、连接串jdbc:mysql://localhost:3306/test、自动提交模式ؓ是等{?/p>
按Ctrl + F9 或者点击Exceute SQL图标Q执行所输入的语?br>
q样可以在SQL Results视图中看到如下执行的l果信息
执行后,记录是显C在最后的执行l果是在后面Q依ơ递增的,???、最后一个是你最后执行的l果信息内容昄的地方,不要弄错了?br>
在SQL~辑器中Q选择Oracle的链接,再输入查询语句测试一?br>
再更改一下SQL语句
使用phpmyadminQ这是最单的了,修改mysql库的user表,不过别忘了用PASSWORD函数?
Ҏ?
使用mysqladminQ这是前面声明的一个特例?
mysqladmin -u root -p password mypasswd
输入q个命o后,需要输入root的原密码Q然后root的密码将改ؓmypasswd?
把命令里的root改ؓ你的用户名,你就可以改你自己的密码了?
当然如果你的mysqladminq接不上mysql serverQ或者你没有办法执行mysqladminQ那么这U方法就是无效的Q而且mysqladmin无法把密码清I?
下面的方法都在mysql提示W下使用Q且必须有mysql的root权限Q?
Ҏ?
mysql> Insert INTO mysql.user (Host,User,Password)
VALUES('%','jeffrey',PASSWORD('biscuit'));
mysql> FLUSH PRIVILEGES
切地说q是在增加一个用P用户名ؓjeffreyQ密码ؓbiscuit?
在《mysql中文参考手册》里有这个例子,所以我也就写出来了?
注意要用PASSWORD函数Q然后还要用FLUSH PRIVILEGES?
Ҏ?
和方法三一P只是使用了REPLACE语句
mysql> REPLACE INTO mysql.user (Host,User,Password)
VALUES('%','jeffrey',PASSWORD('biscuit'));
mysql> FLUSH PRIVILEGES
Ҏ?
使用SET PASSWORD语句Q?
mysql> SET PASSWORD FOR jeffrey@"%" = PASSWORD('biscuit');
拟也必须使用PASSWORD()函数Q但是不需要用FLUSH PRIVILEGES?
Ҏ?
使用GRANT ... IDENTIFIED BY语句
mysql> GRANT USAGE ON *.* TO jeffrey@"%" IDENTIFIED BY 'biscuit';
q里PASSWORD()函数是不必要的,也不需要用FLUSH PRIVILEGES?
注意Q?PASSWORD() [不是]以在Unix口o加密的同h法施行口令加密?br>MySQL 忘记口o的解军_?br>如果 MySQL 正在q行Q首先杀之: killall -TERM mysqld?
启动 MySQL Qbin/safe_mysqld --skip-grant-tables &
可以不需要密码就q入 MySQL 了?
然后是
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
重新杀 MySQL Q用正常Ҏ启动 MySQL ?/p>
mysql密码清空
Windows:
1.用系l管理员登陆pȝ?
2.停止MySQL的服务?
3.q入命oH口Q然后进入MySQL的安装目录,比如我的安装目录是c:\mysql,q入C:\mysql\bin
4.跌权限查启动MySQLQ?
c:\mysql\bin>mysqld-nt --skip-grant-tables
5.重新打开一个窗口,q入c:\mysql\bin目录Q设|root的新密码
c:\mysql\bin>mysqladmin -u root flush-privileges password "newpassword"
c:\mysql\bin>mysqladmin -u root -p shutdown
newpassword替换Z要用的root的密码,W二个命令会提示你输入新密码Q重复第一个命令输入的密码?
6.停止MySQL ServerQ用正常模式启动Mysql
7Q你可以用新的密码链接到Mysql了?/p>
Unix&LinuxQ?
1.用root或者运行mysqld的用L录系l;
2Q利用kill命ol束掉mysqld的进E;
3Q?-skip-grant-tables参数启动MySQL Server
shell>mysqld_safe --skip-grant-tables &
4.?a href="mailto:root@localhost">root@localhost讄新密?
shell>mysqladmin -u root flush-privileges password "newpassword"
5Q重启MySQL Server
mysql修改密码
mysql修改Q可在mysql命o行执行如下:
mysql -u root mysql
mysql> Update user SET password=PASSWORD("new password") Where user='name';
mysql> FLUSH PRIVILEGES;
mysql> QUIT
教你如何MySQL数据库的密码恢复
因ؓMySQL密码存储于数据库mysql中的user表中Q所以只需要将我windows 2003下的MySQL中的user表拷贝过来覆盖掉p了?
在c:\mysql\data\mysql\(linux 则一般在/var/lib/mysql/mysql/)目录下有三个user表相x件user.frm、user.MYD、user.MYI
user.frm //user表样式文?
user.MYD //user表数据文?
user.MYI //user表烦引文?
Z险v见,三个都拷贝过来,不过其实如果之前在要恢复的那个MySQL上没有更改过表结构的话,只要拯user.MYDp?
然后
#. /etc/rc.d/init.d/mysql stop
#. /etc/rc.d/init.d/mysql start
#mysql -u root -p XXXXXX
好了Q可以用windows 2003下mysql密码登陆?
mysql>use mysql
mysql>update user set Password=PASSWORD('xxxxxx') where User='root';
q时候会出错Q提Cuser表只有读权限
我分析了一下原因,只这LQ因为user.*文g的权限分配是windows 2003下的Q在windows 2003下我ls -l一看权限是666
在linux下我一看,拯来后权限变成?00(其实正常情况?00p了,只不q这里的文g属主不是mysqlQ拷q来后的属主变ؓ?root,所以会出现权限不够Q这时候如果你Ҏ权限666则可以了Q当然这样不好,没有解决问题的实?Q在 /var/lib/mysql/mysql/下ls -l看了一?
?
#chown -R mysql:mysql user.*
#chmod 600 user.*
//OK,DONE
重v一下MYSQL
重新q接
mysql>use mysql
mysql>update user set Password=PASSWORD('xxxxxx') where User='root';
mysql>FLUSH PRIVILEGES;
有一点值得注意:如果你windows 下mysql如果是默认配|的话,注意要还要执?
mysql>delete from user where User='';
mysql>delete from user where Host='%';
mysql>FLUSH PRIVILEGES;
好了Q到q里恢复密码q程完成了
q个Ҏ么就是有点局限性,你必M具备另外的user表文?
其他q有几种Ҏ
其它Ҏ一(q个是网上流传较q的Ҏ,mysql中文参考手册上?
1. 向mysqld server 发送kill命oxmysqld server(不是 kill -9),存放q程ID的文仉常在MYSQL的数据库所在的目录中?
killall -TERM mysqld
你必LUNIX的root用户或者是你所q行的SERVER上的同等用户Q才能执行这个操作?
2. 使用`--skip-grant-tables' 参数来启?mysqld?LINUX下:
/usr/bin/safe_mysqld --skip-grant-tables , windows下c:\mysql\bin\mysqld --skip-grant-tables
3. 然后无密码登录到mysqld server Q?
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
。你也可以这样做Q?
`
mysqladmin -h hostname -u user password 'new password''
4. 载入权限表:
`
mysqladmin -h hostname flush-privileges'
或者?SQL 命o
`FLUSH PRIVILEGES'
5.
killall -TERM mysqld
6.用新密码登陆
其它Ҏ?
直接用十六进制编辑器~辑user.MYD文g
不过q个里面我要说明一点,我这里编辑的时候发C问题Q加密的密码串有些是q箋存储的,有些的最后两位被切开了,后两位存储在后面其他地方.q一 Ҏq没x?q有注意一点就是编辑的是加密过的密码串Q也是说你q是需要另外有user表文件。这U方法和我最上面介绍的方法的区别在于Q这U方?直接~辑linux下的user表文Ӟ׃需要重新改文g属主和权限了
修正一下:我在Windows下的实际操作如下
1.关闭正在q行的MySQL?
2.打开DOSH口Q{到mysql\bin目录?
3.输入
mysqld-nt --skip-grant-tables
回R。如果没有出现提CZ息,那就对了?
4.再开一个DOSH口Q因为刚才那个DOSH口已经不能动了Q,转到mysql\bin目录?
5.输入mysql回RQ如果成功,出现MySQL提示W?>
6. q接权限数据?
>use mysql;
(>是本来就有的提示W?别忘了最后的分号)
6.改密码:
> update user set password=password("123456") where user="root"; (别忘了最后的分号)
7.h权限Q必ȝ步骤Q?
>flush privileges;
8.退?
> \q
9.注销pȝQ再q入Q开MySQLQ用用户名root和刚才设|的新密?23456登陆?
据说可以用直接修改user表文件的ҎQ?
关闭MySQLQWindows下打开Mysql\data\mysqlQ有三个文guser.frm,user.MYD,user.MYI找个知道密码的MySQLQ替换相应的q三个文Ӟ如果user表结构没改过Q一般也没hLQ替换user.MYD可以了?
也可以直接编辑user.MYDQ找个十六进制编辑器QUltraEdit有q个功能。关闭MySQLQ打开user.MYD。将用户名root 后面的八个字W改?65491d704013245Q新密码是123456。或者将它们对应的十六进制数字,Q左辚w里,一个字W对应两个数字)Q改 ?00 02 02 02 02 02 02 02,q就是空密码Q在~辑器右边看到的都是星号*Q看h很象数炏V重开MySQLQ输入root和你的新密码?/p>