MySQL专栏Mysql源码编译安装

源码编译安装mysql后,结果发现在svr/bin中缺失mysqld_safe文件,编译和安装阶段并无任何报错,那是什么原因呢?#MySQL专栏#

简单来说说mysqld_safe和mysqld工具区别:mysqld_safe是服务端工具,用于启动mysqld,并且是mysqld的守护进程,所以mysqld_safe脚本会在启动MySQL服务器后继续监控其运行情况,并在其死机时重新启动它。所有在生产环境我们更建议用mysqld_safe的方式去启动mysql服务。

既然源码编译安装过程均没有任何报错,那没有生成mysqld_safe的原因大概就出在编译参数上面了。

原本的编译代码为:

cmake\

-DCMAKE_INSTALL_PREFIX=/soft/mysql/svr/mysql57\

-DMYSQL_DATADIR=/soft/mysql/dbdat/mysql57_\

-DSYSCONFDIR=/soft/mysql/conf/mysql\

-DWITH_BOOST=/soft/mysqlsetup/mysql-5.7.34/boost/boost_1_59_0\

-DDEFAULT_CHARSET=utf8mb4\

-DDEFAULT_COLLATION=utf8mb4_unicode_ci\

-DEXTRA_CHARSETS=all\

-DENABLED_LOCAL_INFILE=1\

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock\

-DMYSQL_TCP_PORT=\

-DWITH_SYSTEMD=1

通过百度才知道,DWITH_SYSTEMD参数决定是否安装mysqld_safe,果断去掉该参数,最终编译代码为:

cmake\

-DCMAKE_INSTALL_PREFIX=/soft/mysql/svr/mysql57\

-DMYSQL_DATADIR=/soft/mysql/dbdat/mysql57_\

-DSYSCONFDIR=/soft/mysql/conf/mysql\

-DWITH_BOOST=/soft/mysqlsetup/mysql-5.7.34/boost/boost_1_59_0\

-DDEFAULT_CHARSET=utf8mb4\

-DDEFAULT_COLLATION=utf8mb4_unicode_ci\

-DEXTRA_CHARSETS=all\

-DENABLED_LOCAL_INFILE=1\

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock\

-DMYSQL_TCP_PORT=

重新安装后,果然问题解决。




转载请注明:http://www.aierlanlan.com/grrz/2851.html