mysql编译
准备
安装包网上下载:
mysql-5.6.39.tar.gz
将上面包解压缩到指定目录,例如
/home/wlt/mysqlSource/mysql-5.6.39/目录下mysql
更新依赖
apt install cmake
apt install libncurses5-dev
编译安装mysql
make 配置
建立cmake.sh,内容以下c++
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_DEBUG=1
须要保证当前用户 有/usr/local/mysql目录的读写权限
接下来生成Makefile配置web
sh cmake.sh
接下来编译sql
#24表示使用24线程来编译
make -j 24
安装
make install
建立配置文件 shell
cd /usr/local/mysql
mkdir data_3306
初始化dbeclipse
cd /usr/local/mysql/scripts
./mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data_3306 --user=wlt
配置eclipse
新建一个c++项目socket
以下图所示,将项目的地址选择为刚刚编译的mysql目录
而后点 Next按钮,在下个页面中点击: Advanced setting 按钮,以下图设置
svg
配置debug
以下图所示新建一个run configurationes5
- C/C++ Application:线程
/home/wlt/mysqlSource/mysql-5.6.39/sql/mysqld
-Program arguments
--datadir=/usr/local/mysql/data_3306
--basedir=/usr/local/
--socket=/tmp/mysql.sock
--user=wlt
关闭mysql
#方法1: 直接在shell 中 kill 掉 mysql进程
#方法2: 输入:
./mysqladmin -u root shutdown
常见问题
Can’t find messagefile ‘/usr/share/errmsg.sys’
将share/english/errmsg.sys 拷贝到 /usr/share/下。
sudo cp /usr/local/mysql/share/english/errmsg.sys /usr/local/share/
安装MySQL 5.6.16登陆出错:段错误 (Segmentation fault)