Linux系统下编译安装MySQL教程

liunx 编译安装mysql

时间:2025-06-19 05:04


Linux系统下编译安装MySQL的详细指南 在Linux系统下编译安装MySQL是一个涉及多个步骤的过程,但它提供了高度的定制化选项,并确保你能够获取到MySQL的最新版本

    无论是出于性能优化、安全加固,还是学习目的,源码编译安装都是一个值得尝试的方法

    以下是一份详细的指南,帮助你顺利完成MySQL的编译安装

     一、前期准备 在进行编译安装之前,你需要做好以下准备工作: 1.清理环境:确保系统中没有残留的MySQL或MariaDB相关文件和服务

    你可以使用以下命令来卸载MariaDB及其相关组件,并删除MySQL用户和相关目录: bash yum erase mariadb mariadb-server mariadb-libs mariadb-devel -y userdel -r mysql rm -rf /etc/my rm -rf /var/lib/mysql 2.创建MySQL用户:为了安全起见,MySQL服务通常以一个非root用户身份运行

    你可以创建一个专门用于运行MySQL服务的用户: bash useradd -r mysql -M -s /bin/false 3.安装编译工具:编译MySQL需要一系列的开发工具和库

    使用yum包管理器安装这些依赖项: bash yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make cmake 4.下载MySQL源码:从MySQL官方网站下载最新版本的源码包

    例如,下载MySQL5.7.27版本的源码包: bash wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.27.tar.gz 注意:如果你下载的是MySQL5.7或更高版本,源码包中通常已经包含了Boost库

    但如果你的系统中没有Boost库,或者你需要特定版本的Boost,你可能需要单独下载并安装它

     二、编译安装MySQL 1.解压源码包:将下载的源码包解压到指定目录

    例如,解压到/usr/local目录下: bash tar xzvf mysql-boost-5.7.27.tar.gz -C /usr/local/ 2.配置编译选项:使用cmake工具配置MySQL的编译选项

    这些选项将决定MySQL的安装目录、数据目录、端口号等关键参数

    例如: bash cd /usr/local/mysql-5.7.27/ cmake . -DWITH_BOOST=boost/boost_1_59_0/ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DMYSQL_DATADIR=/usr/local/mysql/data -DINSTALL_MANDIR=/usr/share/man -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DEXTRA_CHARSETS=all -DDEFAULT_COLLATION=utf8_general_ci -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 注意:根据你的系统环境和需求,你可能需要调整上述cmake命令中的参数

    例如,如果你的系统中已经安装了Boost库,你可以将`-DWITH_BOOST`参数指向你的Boost库路径

     3.编译和安装:使用make工具编译MySQL源码,并使用make install命令将编译好的二进制文件安装到指定目录: bash make && make install 这个过程可能需要一些时间,具体取决于你的系统性能和源码包的大小

     三、初始化MySQL 1.设置目录权限:在初始化MySQL之前,你需要确保MySQL的数据目录和安装目录具有正确的权限

    通常,这些目录应该由MySQL用户拥有: bash cd /usr/local/mysql chown -R mysql:mysql . 2.初始化数据库:使用mysqld命令初始化MySQL数据库

    这个过程将创建必要的系统表,并生成root用户的初始密码: bash ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 初始化完成后,请务必记住生成的初始密码,以便后续登录和修改密码

     四、配置MySQL 1.编辑配置文件:MySQL的主配置文件通常位于/etc/my.cnf

    你可以使用vim或其他文本编辑器打开并编辑这个文件,根据你的需求调整配置参数: bash vim /etc/my.cnf 在配置文件中,你可以指定MySQL的安装目录、数据目录、端口号、字符集等关键参数

    例如: ini 【client】 port =3306 socket = /tmp/mysql.sock default-character-set = utf8 【mysqld】 port =3306 user = mysql basedir = /usr/local/mysql datadir = /usr/local/mysql/data socket = /tmp/mysql.sock character_set_server = utf8 lower_case_table_names =1 2.设置软链接:为了方便在终端中执行MySQL命令,你可以为mysql二进制文件设置一个软链接: bash ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql 3.添加环境变量:你还可以将MySQL的bin目录添加到系统的PATH环境变量中,这样你就可以在任何目录下执行MySQL命令了

    编辑/etc/profile文件,并在最后一行添加以下内容: bash export PATH=$PATH:/usr/local/mysql/bin 然后,使用source命令使配置文件生效: bash source /etc/profile 五、启动MySQL服务 1.启动MySQL:使用以下命令启动MySQL服务: bash cd /usr/local/mysql ./bin/mysqld_safe --user=mysql & 或者,如果你已经将MySQL添加到系统的服务管理器中(例如systemd),你可以使用systemctl命令来启动服务: bash systemctl start mysql 2.检查MySQL状态:使用以下命令检查MySQL服务的运行状态: bash netstat -ntulp | grep3306 或者: bash systemctl status mysql 3.登录MySQL:使用初始密码登录MySQL,并修改root用户的