eclipse调试mysql_linux中eclipse调试mysql源代码

转载地址:http://blog.csdn.net/liyongofdm/article/details/17336361

费了一番牛劲,终于把eclipse中调试mysql源代码搞定了,现把过程记录如下。

操作系统,ubuntu,虚拟机

1.eclipse

直接使用cdt或者给java版本的eclipse安装插件都可以,安装插件的方法如下:

1)下载eclipse-cpp-indigo-sr2-incubation-linux-gtk.tar.gz

2)解压

3)把fetures目录下的东西和plugin目录下的东西全部拷贝到/usr/lib/eclipse的feature和plugin目录下

再次启动eclipse,新建工程时就可以看到C++相关的工程了。

2.mysql源码下载

下载mysql-5.6.15.tar.gz

3.编译

1)进入mysql源码解压目录,运行:

./compile-pentium-debug-max-no-ndb -c

2)书上说这一步只生成makefile,不编译,但是从运行的结果看,貌似会编译。

3)中间会报没有curse库,网上搜一下,需要安装libncurses5-dev,atp-get安装一下即可。然后需要删除掉CMakeCache.txt再次运行编译。

4.建立eclipse工程

1)新建C++工程,选择Empty Project    2)在工程上右击,选择新建文件夹,命名该文件夹,并打开Advanced,在Link tofolder in the file system中选择刚才解压出来的mysql解压目录    3)右击项目名,在属性 中,在C/C++ Build选项中,将Builddirectory选择为mysql解压后的目录。确定之后,貌似会自动编译并生成二进制文件。 5.运行 1)配置。选择二进制文件中的mysqld,右键,进行运行配置,主要介绍配置参数:     --socket=/tmp/mysql.sock    (这里的mysql.sock要首先手动创建,用于客户端和mysqld通信)     --basedir=/home/liyong/Downloads/mysql-5.6.15/  (不在是默认安装时的/var/lib/mysql)     --datadir=/home/liyong/Downloads/mysql-5.6.15/data(这里的data目录也要手动创建,以后会存放所有的mysql数据) 2)运行。错误比较都,需要一个一个解决。 a.没有/tmp/mysql.sock文件,无法启动    手动创建/tmp/mysql.sock  b.在/usr/share找不到errmsg.sys   这是出错时使用哪种语言来报错,这些文件全都在安装文件的sql/share/目录下,例如把english目录下的errmsg.sys拷贝到/usr/share目录下即可 c.有一个error,让调用client/mysql_upgrade升级当前数据库,其实不用升级。 d.有一个error,说没有权限访问mysql.user表,其实是因为还没有初始化mysql数据库。     进入scripts/目录,运行mysql_install_db.sh来初始化数据库:      首先创建mysql组和用户:      ./groupadd mysql      ./useradd mysql -g mysql      ./mysql_install_db.sh--datadir=/home/liyong/Downloads/mysql-5.6.15/data/--srcdir=/home/liyong/Downloads/mysql-5.6.15 (注意:通过以上方法编译出来的可执行文件不全,很多工具没有,如果要运行mysql_install_db.sh脚本,还需要在源码根目录下运行cmake.; make ; sudo make install; 安装所有的可执行文件才行)       可能会报权限错误,把data目录删掉,新建data目录,然后把data目录的权限改为当前用户为拥有者。    e.用mysql--socket=/tmp/mysql.sock连接服务器,此时是使用当前用户连接数据库,所以连接上去之后没有创建database的权限,只能看到test和information_schema两个database,如果要创建数据库报没有权限修改""@localhost,两种方法:       进入scripts目录,运行:       ./mysqld_safe --skip-grant-table --no-defaults       使用root连接服务器,删除用户名为""的用户:        delete fromUSER where username="";         再次使用其他账户连接服务器(因为""账户已经被删除)         或者直接用root登陆 :         mysql --socket=/tmp/mysql.sock -u root

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值