ubuntu 环境下调试mysql源码_Linux中eclipse调试mysql源代码
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源代码相关推荐
- 从零开始搭建Ubuntu 环境下的Android 源码开发环境
本文从一个干净的Ubuntu 10.04 操作系统出发,一步一步引导你搭建自己的基于eclipse IDE 的Android源码开发环境. 正文会包含一下这些内容: 获得源码 编译源码准备工作 编译工 ...
- Ubuntu 22.04环境下安装lxr源码阅读器详细过程
Ubuntu 22.04环境下安装lxr源码阅读器详细过程 一.lxr介绍 二.依赖关系 三.安装过程 1.下载源码 2.执行检查 3.安装依赖 4.安装数据库和服务器 四.配置过程 1.主配置 2. ...
- 【转载】ubuntu下linux内核源码阅读工具和调试方法总结
http://blog.chinaunix.net/space.php?uid=20940095&do=blog&cuid=2377369 一 linux内核源码阅读工具 window ...
- Linux环境下Arm端源码编译OpenCV+ncnn目标检测模型实例运行调试完整实践记录
今天需要在嵌入式设备端运行C的程序,里面有依赖OpenCV的部分,这就需要编译安装好OpenCV才行,这个对于我来说还是比较陌生的,我很少用C,所以这里面也没少折腾,一路上遇上了很多的报错,这里我将完 ...
- linux环境下编译Qt源码
环境配置:Ubuntu-16.04 1) 下载源码 在官方网站:http://download.qt.io/archive/qt/5.12/5.12.5/single/上下载qt-everywhere ...
- 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 ...
- linux下看libc源码,获得libc的调试信息
获得libc的调试信息 日期:2014-07-01 11:04:57 最后更新日期:2014-11-25 11:20:32 [技术文章,非码农勿入] 需求: 获得libc的调试信息(研究学习libc内 ...
- linux环境下编译llvm源码
环境配置:Ubuntu-16.04 1) 下载依赖 sudo apt-get install cmake sudo apt-get install xz-utils sudo apt-get inst ...
- 调试JDK源码-一步一步看HashMap怎么Hash和扩容
调试JDK源码-一步一步看HashMap怎么Hash和扩容 调试JDK源码-ConcurrentHashMap实现原理 调试JDK源码-HashSet实现原理 调试JDK源码-调试JDK源码-Hash ...
最新文章
- linux uts namespace 提供了主机名和域名的隔离 docker中被用到
- R语言编程 第一讲 变量与赋值
- k8s节点亲和性:pod和node的亲和性、硬策略、软策略
- mysql 导出数据为csv格式
- Plugin [id: 'org.jetbrains.kotlin.jvm'] was not found in any of the following sources:
- leetcode100. 相同的树(dfs)
- mysql 缓冲区_mysql 线程级别的缓冲区
- Visual Studio 2017新建及运行C++程序步骤
- Sentinel降级_RT_分布式系统集群限流_线程数隔离_削峰填谷_流量控制_速率控制_服务熔断_服务降级---微服务升级_SpringCloud Alibaba工作笔记0039
- jquery 的$()
- building for iOS simulator, but linking in object file built for tvOS, for architecture x86_64
- hadoop MapReduce 输出结果中文乱码解决
- java中的 关键词vali_Java中的关键字volatile详解
- 64脚和小于64脚的STM32进行AD时注意,参照电源处理方法(转)
- pillow生成企业营业执照
- 普元eos使用svn_普元EOS开发经验总结——不定期持续更新中
- mp3怎么转换成m4r(iPhone铃声制作)
- 软件测试用mac还是windows,为什么越来越多的Mac用户开始爱上Windows?
- 一台云服务器ECS如何绑定多个公网IP
- JGG论坛:赵方庆研究员解析肠道菌群与人体健康(11月10日10:00)
热门文章
- JAVA工作总是维护项目_开发维护大型 Java 项目的建议
- 使用pyinstaller打包python_使用pyinstaller打包Python项目,python
- 【笔记】SFTP、ssh密钥连接远程服务器,putty工具生成密钥,详细图文教程
- 红外感应自动出水水龙头的电路原理
- 【树莓派】树莓派SD卡系统镜像系统备份方法
- 【PC工具】开源绿色windows右键管理工具软件
- STM32启动模式详解
- jenkins+github+docker+maven自动化构建部署
- mysql 忘记root密码的解决
- 穷游网:这里有一个包含十二年用户体验妙计的锦囊