Ubuntu 下安装 DBDesigner4

转自:空想家的java学习笔记

 

-----------------------------------------

系统: Ubuntu9.04
DBDesigner version: 4.0.5.4
-----------------------------------------
此次安装耗时将近10个小时,历尽艰辛,几近放弃,但还是坚持了下来。
再次深刻的体会到了在中国的大环境下,Linux方面没什么高手。或者说高手都忙着数钱去了,没时间在网上提携新人。我之所以这么说,一是因为发觉关于Linux的教程极少,二是看到了90%的安装教程基本都是复制粘贴而不可用的,而且基本都是无解释性的纯命令,即使安装成功,也让人无法理解自己到底做了些什么。虽然我是个极度反日的愤青,但是这次在日本网站上找到的教程的正确程度和可理解程度(即使是全日文),却足以让国人汗颜。

 

抱怨结束,开始安装:
1. 下载DBDesigner,地址是http://fabforce.net/downloads.php
请选择Linux下的gz或者rpm压缩包,建议使用rpm,除非你的电脑上没有安装rpm。原因是我使用gz无法安装。注意:最好下载到你的local目录,比如我的是/home/leo,而不要下载到Desktop(非root登录情况下)。
2. 解压缩,
gz压缩包请用:tar -zxvf DBDesigner4.0.5.4.tar.gz
rpm压缩包请先把rpm包转化为deb包:sudo apt-get install rpm alien
然后解压缩deb包(这是因为在ubuntu下不能直接解压rpm):alien -d DBDesigner4-0.5.4-0.i586.rpm
双击转换后的deb包进行安装。
3. 运行sudo startdbd,如果成功了,恭喜你。但是绝大部分情况下,肯定无法启动界面(什么反应都没有),否则就不会有这篇文章了。
4. 没关系,让我们来查看一下日志:cat ~/.DBDesigner4/DBD4.log
5. 这时候一半会报的是这个错:libXft.so.1: cannot open shared object file: No such file or directory
6. 解决方法:sudo ln -s /usr/lib/libXft.so.2.1.2 /usr/lib/libXft.so.1(这里的libXft.so.2.1.2貌似要根据你的库文件版本来确定,我的是libXft.so.2.1.13,具体的你可以去/usr/lib/下面寻找libXft.so.xxxxx,找到你唯一有的那个就行了)
7. 继续运行 startdbd,发现还是不行
8. cat ~/.DBDesigner4/DBD4.log
9. 发现:libstdc++-libc6.2-2.so.3: cannot open shared object file: No such file or directory
10. 解决:apt-get install libstdc++2.10-glibc2.2 (安装相关的库文件),若软件库里没有找到这个软件包,可以到:

  http://packages.debian.org/etch/i386/libstdc++2.10-glibc2.2/download 页去下载


11. 继续运行,还是不成功,查看日志发现:/opt/DBDesigner4/DBDesigner4:symbol lookup error: /usr/lib/DBDesigner4/libqt.so.2: undefined symbol:XftPatternGetString , 到这一步,恭喜你,离成功不远了
12. 下载  kylixlibs3-borqt-3.0-2.tar.gz 后
tar -zxvf kylixlibs3-borqt.tar.gz
cd  kylixlibs3-borqt-3.0.2
./install .sh
ldconfig (这个命令貌似是安全性考虑)
13. 但是上面运行./install.sh的时候,我一直报错,记得好像是[: 12: 1: Unexpect operator;但我即使使用root用户登录,仍然不能解决问题。干脆不管了,继续往下看。
14. cd ~/DBDesigner4/Linuxlib //这里可能有不同的情况,在我的系统中,我进入的是/usr/lib/DBDesigner4/
15. sudo rm libqt.so.2
16. 而后运行(这里极容易写错,强烈建议直接复制我的命令):sudo ln -s /usr/lib/kylix3/libborqt-6.9.0-qt2.3.so ./libqt.so.2
17. 运行startdbd,到这里,我的成功启动了。希望你的也是。

 

------------------------------------下面讲述如何令DBDesigner支持MySQL----------------------------------------

18. 启动后,让我们反向工程连接一下MySQL看看,具体做法:选择DataBase--->ReverseEngineering---->MySQL,填入你的数据库用户名和密码,确定出现错误提示:Connection to databasefailed. Unable to Load  libmysqlclient.so
19. 解决:
Download the file at ftp://ftp.wesmo.com/pub/contributed/RPMS/MySQL-shared-compat-4.1.9-0.i386.rpm
Then install it: sudo alien -i MySQL-shared-compat-4.1.9-0.i386.rpm

sudo gedit ~/.DBDesigner4/DBConn_DefaultSettings.ini  in Kate and change the folowing:
GetDriverFunc=getSQLDriverMYSQL
LibraryNameLinux=libsqlmy.so
VendorLibLinux=libmysqlclient.so

to

GetDriverFunc=getSQLDriverMySQL
LibraryNameLinux=libsqlmda.so.4.50
VendorLibLinux=libmysqlclient.so.10
libsqlmda.so.4.50可上:http://www.onlinedown.net/soft/75289.htm 页下载


20.startdbd启动,反向工程,填入root,密码,报错(后来发现是自己的密码记错了,否则应该已经成功了,无论如何,让我们看看怎样修改MySQL的密码吧):Access denied for user 'root'@'localhost'(using password:YES)
21. 解决:
使用网上介绍的方法修改root用户的密码:
# mysqladmin -uroot -p password 'newpassword'
Enter password:
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)'

现在终于被我找到了解决方法,如下(请先测试方法三,谢谢!):
方法一:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit

# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>

mysql>


方法二:
直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码:
# mysql -udebian-sys-maint -p
Enter password: <输入[client]节的密码>
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit

# mysql -uroot -p
Enter password: <输入新设的密码newpassword>

mysql>


方法三:
这种方法我没有进行过测试,因为我的root用户默认密码已经被我修改过了,那位有空测试一下,把结果告诉我,谢谢!!
# mysql -uroot -p
Enter password: <输入/etc/mysql/debian.cnf文件中[client]节提供的密码>

至此,困惑多时的问题解决了!

posted @ 2010-03-05 16:14  Aqian  阅读(1222)  评论(0编辑  收藏  举报