Linux中eclipse调试mysql源代码

系统:Redhat Linux 6.4

准备的包:

eclipse-cpp-luna-SR1-linux-gtk-x86_64 .tar.gz

cmake-2.8.4.tar

mysql-5.6.22.tar.gz

(可以到个人网盘地址下载:http://pan.baidu.com/s/1hqle1z2)

1.安装eclipse

安装JDK(略)

验证办法:

[root@mysqlsource BUILD]# java -version

java version "1.7.0_09-icedtea"

OpenJDK Runtime Environment (rhel-2.3.4.1.el6_3-x86_64)

OpenJDK 64-Bit Server VM (build 23.2-b09, mixed mode)

[root@mysqlsource BUILD]#

下载eclipse-cpp-luna-SR1-linux-gtk-x86_64 .tar.gz

并上传至/usr/lib 目录

[root@mysqlsource lib]# pwd

/usr/lib

[root@mysqlsource lib]# ll

-rw-r--r--.  1 root root  178101934 Jul 16 10:17 eclipse-cpp-luna-SR1-linux-gtk-x86_64.tar.gz

直接解压即可:

[root@mysqlsource lib]# tar -zxvf eclipse-cpp-luna-SR1-linux-gtk-x86_64.tar.gz

[root@mysqlsource lib]# ll

total 174036

drwxr-xr-x.  3 root root       4096 Jul  9  2014 anaconda-runtime

drwxr-xr-x.  3 root root       4096 Jul  9  2014 bonobo

drwxr-xr-x.  5 root root       4096 Jul  9  2014 ConsoleKit

drwxr-xr-x.  9 root root       4096 Jul  9  2014 cups

drwxrwsr-x.  9  100 users      4096 Jul 16 11:10 eclipse

-rw-r--r--.  1 root root  178101934 Jul 16 10:17 eclipse-cpp-luna-SR1-linux-gtk-x86_64.tar.gz

安装一个vnc,可以登录图形化界面,即可运行

[root@mysqlsource lib]# cd /usr/lib/eclipse

[root@mysqlsource eclipse]# ./eclipse

2. 编译mysql

安装cmake

#tar

#./configure

#make && make install

编译mysql

[root@mysqlsource eclipse]# cd /root/mysql-5.6.22/BUILD

[root@mysqlsource BUILD]# ls

autorun.sh          compile-dist           compile-pentium-debug-max         compile-pentium-valgrind-max         SETUP.sh

build_mccge.sh      compile-pentium        compile-pentium-debug-max-no-ndb  compile-pentium-valgrind-max-no-ndb  VERSION.dep

cmake_configure.sh  compile-pentium64      compile-pentium-gcov              extra                                zlib

CMakeFiles          compile-pentium-debug  compile-pentium-gprof             README

[root@mysqlsource BUILD]#

[root@mysqlsource BUILD]# ./compile-pentium-debug-max-no-ndb -c

提示报错:

-- Could NOT find Curses (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH)

CMake Error at cmake/readline.cmake:85 (MESSAGE):

Curses library not found.  Please install appropriate package,

remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.

Call Stack (most recent call first):

cmake/readline.cmake:128 (FIND_CURSES)

cmake/readline.cmake:202 (MYSQL_USE_BUNDLED_EDITLINE)

CMakeLists.txt:406 (MYSQL_CHECK_EDITLINE)

redhat 安装  ncurses-devel

ubuntu 安装  libncurses5-dev

redhat 直接 yum install ncurses-devel  即可!!

删除掉CMakeCache.txt再次运行编译

[root@mysqlsource BUILD]# ./compile-pentium-debug-max-no-ndb -c

3. 建立eclipse工程

新建C++工程,选择Empty Project

在工程上右击

选择新建文件夹,命名该文件夹,并打开Advanced,在Link tofolder in the file system中选择刚才解压出来的mysql解压目录

右击项目名,在属性 中,在C/C++ Build选项中,将Builddirectory选择为mysql解压后的目录。确定之后,貌似会自动编译并生成二进制文件。

4.运行

配置。选择二进制文件中的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数据)

运行。错误比较都,需要一个一个解决。

a.在/usr/share找不到errmsg.sys

这是出错时使用哪种语言来报错,这些文件全都在安装文件的sql/share/目录下,例如把english目录下的errmsg.sys拷贝到/usr/share目录下即可

b.有一个error,让调用client/mysql_upgrade升级当前数据库,其实不用升级。

c.有一个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目录的权限改为当前用户为拥有者。

d.用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

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29500582/viewspace-1749757/,如需转载,请注明出处,否则将追究法律责任。

ubuntu 环境下调试mysql源码_Linux中eclipse调试mysql源代码相关推荐

  1. 从零开始搭建Ubuntu 环境下的Android 源码开发环境

    本文从一个干净的Ubuntu 10.04 操作系统出发,一步一步引导你搭建自己的基于eclipse IDE 的Android源码开发环境. 正文会包含一下这些内容: 获得源码 编译源码准备工作 编译工 ...

  2. Ubuntu 22.04环境下安装lxr源码阅读器详细过程

    Ubuntu 22.04环境下安装lxr源码阅读器详细过程 一.lxr介绍 二.依赖关系 三.安装过程 1.下载源码 2.执行检查 3.安装依赖 4.安装数据库和服务器 四.配置过程 1.主配置 2. ...

  3. 【转载】ubuntu下linux内核源码阅读工具和调试方法总结

    http://blog.chinaunix.net/space.php?uid=20940095&do=blog&cuid=2377369 一 linux内核源码阅读工具 window ...

  4. Linux环境下Arm端源码编译OpenCV+ncnn目标检测模型实例运行调试完整实践记录

    今天需要在嵌入式设备端运行C的程序,里面有依赖OpenCV的部分,这就需要编译安装好OpenCV才行,这个对于我来说还是比较陌生的,我很少用C,所以这里面也没少折腾,一路上遇上了很多的报错,这里我将完 ...

  5. linux环境下编译Qt源码

    环境配置:Ubuntu-16.04 1) 下载源码 在官方网站:http://download.qt.io/archive/qt/5.12/5.12.5/single/上下载qt-everywhere ...

  6. ARM环境下centos 7源码编译安装ceph-v14.0.1教程(待修改)

    一.环境介绍 IP hostname IOS   10.2.152.131 node-01 centos  7.4 admin 10.2.152.132 node-02 centos  7.4 nod ...

  7. linux下看libc源码,获得libc的调试信息

    获得libc的调试信息 日期:2014-07-01 11:04:57 最后更新日期:2014-11-25 11:20:32 [技术文章,非码农勿入] 需求: 获得libc的调试信息(研究学习libc内 ...

  8. linux环境下编译llvm源码

    环境配置:Ubuntu-16.04 1) 下载依赖 sudo apt-get install cmake sudo apt-get install xz-utils sudo apt-get inst ...

  9. 调试JDK源码-一步一步看HashMap怎么Hash和扩容

    调试JDK源码-一步一步看HashMap怎么Hash和扩容 调试JDK源码-ConcurrentHashMap实现原理 调试JDK源码-HashSet实现原理 调试JDK源码-调试JDK源码-Hash ...

最新文章

  1. linux uts namespace 提供了主机名和域名的隔离 docker中被用到
  2. R语言编程 第一讲 变量与赋值
  3. k8s节点亲和性:pod和node的亲和性、硬策略、软策略
  4. mysql 导出数据为csv格式
  5. Plugin [id: 'org.jetbrains.kotlin.jvm'] was not found in any of the following sources:
  6. leetcode100. 相同的树(dfs)
  7. mysql 缓冲区_mysql 线程级别的缓冲区
  8. Visual Studio 2017新建及运行C++程序步骤
  9. Sentinel降级_RT_分布式系统集群限流_线程数隔离_削峰填谷_流量控制_速率控制_服务熔断_服务降级---微服务升级_SpringCloud Alibaba工作笔记0039
  10. jquery 的$()
  11. building for iOS simulator, but linking in object file built for tvOS, for architecture x86_64
  12. hadoop MapReduce 输出结果中文乱码解决
  13. java中的 关键词vali_Java中的关键字volatile详解
  14. 64脚和小于64脚的STM32进行AD时注意,参照电源处理方法(转)
  15. pillow生成企业营业执照
  16. 普元eos使用svn_普元EOS开发经验总结——不定期持续更新中
  17. mp3怎么转换成m4r(iPhone铃声制作)
  18. 软件测试用mac还是windows,为什么越来越多的Mac用户开始爱上Windows?
  19. 一台云服务器ECS如何绑定多个公网IP
  20. JGG论坛:赵方庆研究员解析肠道菌群与人体健康(11月10日10:00)

热门文章

  1. JAVA工作总是维护项目_开发维护大型 Java 项目的建议
  2. 使用pyinstaller打包python_使用pyinstaller打包Python项目,python
  3. 【笔记】SFTP、ssh密钥连接远程服务器,putty工具生成密钥,详细图文教程
  4. 红外感应自动出水水龙头的电路原理
  5. 【树莓派】树莓派SD卡系统镜像系统备份方法
  6. 【PC工具】开源绿色windows右键管理工具软件
  7. STM32启动模式详解
  8. jenkins+github+docker+maven自动化构建部署
  9. mysql 忘记root密码的解决
  10. 穷游网:这里有一个包含十二年用户体验妙计的锦囊