GDB 调试 Mysql 实战(一)源码编译安装

大梵天
• 阅读 5053

下载源码

git clone https://github.com/mysql/mysql-server.git
cd mysql-server
git checkout 5.7

编译安装

安装依赖

yum install -y cmake make gcc gcc-c++ ncurses-devel bison gdb

需要注意的一点,需要指定 boost 路径,会 cmake 的时候自动下载

cd BUILD; 
cmake .. -DDOWNLOAD_BOOST=1 -DWITH_BOOST=<directory> -DWITH_DEBUG=1 -DWITH_UNIT_TESTS=off
make 
make install

最后程序安装到了/usr/local/mysql目录

创建专用用户

groupadd mysql
useradd -s /sbin/nologin -M -g mysql mysql

初始化数据库

cd /usr/local/mysql/
bin/mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql

2019-02-01T07:45:58.147032Z 1 [Note] A temporary password is generated for root@localhost: jss<swtX.8og

连接数据库

[root@bogon bin]# ./mysql -h localhost -uroot
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

原来是因为配置文件里面没有置顶客户端的 socket 文件

cat /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

增加

[client]
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysql]
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock

再次连接就 ok 了。

修改默认密码

SET PASSWORD = PASSWORD('123456');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
flush privileges;

导入测试数据

/usr/local/mysql/bin/mysql -uroot -p123456 test < article_rank.sql
https://www.linuxidc.com/Linu...
https://www.cnblogs.com/debmz...
点赞
收藏
评论区
推荐文章
Easter79 Easter79
3年前
swoole 安装与简单应用
方法一:PECL安装安装依赖包aptgetinstalllibpcre3libpcre3dev安装swoolepeclinstallswoole修改PHP配置php.ini 加载swoole验证安装与加载:phpm|grepswoole方法二:源码编译安装1.下载
Stella981 Stella981
3年前
Centos7安装Nginx
一.gcc安装安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果已经安装gcc,请无视。yuminstallygccc二.pcre安装PCRE(PerlCompatibleRegularExpressions)是一个Perl库,包括perl兼容的正则表达
Stella981 Stella981
3年前
InsightFace源码以及pre
一下摘自:https://blog.csdn.net/Fire\_Light\_/article/details/79602705(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fblog.csdn.net%2FFire_Light_%2Farticle%2Fdetails%2F7960
Stella981 Stella981
3年前
Centos7二进制安装Mysql8.0.14
准备工作下载mysql二进制包,以及安装mysql依赖包安装mysql所需依赖包yuminstalllibaioy下载mysql二进制安装包wgethttp://mirrors.163.com/mysql/Downloads/MySQL8.0/mysql8.0.14linuxglibc2.
Stella981 Stella981
3年前
CentOS 7.4 + nginx + php + mysql + phpmyadmin环境搭建,详细操作
1、gcc安装安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,则需要安装:yuminstallgccc二.PCREpcredevel安装PCRE(PerlCompatibleRegularExpressions)是一个Perl库,包括per
Stella981 Stella981
3年前
PHP,mysql,nginxunx中安装
一:安装PHP,mysql,nginx1linux装软件方式:21.源码安装:下载wget》解压tarzxvf》配置./configure》编译make3安装makeinstall42.yum安装一键安装包centos红帽
Stella981 Stella981
3年前
Linux开发环境搭建之MySQL安装配置
       本文主要实践在Linux上安装和配置MySQL关系型数据库,完整的实践MySQL的下载、安装、配置、使用的过程,为后面某些文中使用做基础一、环境准备1.CentOS7发行版的Linux系统(最小化安装)2.MySQL官方编译的安装包mysql5.7.20linuxglibc2.12x86\_64下载
Stella981 Stella981
3年前
Nginx之Centos7下安装
一.gcc安装安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,则需要安装:yuminstallygccc二.PCREpcredevel安装PCRE(PerlCompatibleRegularExpressions)是一个Perl库,包括perl兼容的正则表
Wesley13 Wesley13
3年前
Ubuntu虚拟机EOS安装教程
EOS安装一、源码下载注意事项:二、编译源码注意事项:三、安装1.install安装2.测试(可跳过)四、运行总结一、源码下载gitclonehttps://github.com
Stella981 Stella981
3年前
Mac编译安装swfTools
Mac编译安装swfToolsMac编译安装swfTools下载源码解压源码安装依赖项./configure执行配置或者执行如下配置命令:需要注意这里存在部分代码错误,需要修改解决后执行一、cha
3A网络 3A网络
2年前
工具 | 常用 MySQL 内核 Debug 技巧
工具|常用MySQL内核Debug技巧掌握MySQL内核源码的阅读和调试能力,不仅是数据库研发人员的日常,也是DBA进阶的必经之路。阅读本文你将了解:如何准备MySQL调试环境GDB调试入门及操作示例Trace文件调试及操作示例|一、准备Debug环境首先用源码编译安装一个用来调试的MySQL环境。开启DWI
大梵天
大梵天
Lv1
雨纷纷旧故里草木深我听闻你始终一个人
文章
3
粉丝
0
获赞
0