Linux环境下编译安装MySQL指南
linux的编译安装mysql

首页 2025-06-13 05:54:13



Linux系统下的MySQL编译安装指南 在Linux系统下编译安装MySQL是一项涉及多个步骤的任务,它要求管理员具备一定的系统知识和编译经验

    尽管过程可能稍显复杂,但通过详细的指导和逐步的操作,我们可以顺利完成这一任务

    本文将详细介绍如何在Linux系统下编译安装MySQL,并涵盖从准备工作到启动服务的全过程

     一、准备工作 在编译安装MySQL之前,我们需要进行一些准备工作,以确保编译过程顺利进行

     1. 清理安装环境 首先,我们需要确保系统中没有旧的MySQL版本或相关组件,这些可能会干扰新版本的安装

    可以使用以下命令来卸载旧的MySQL版本: 检查并卸载旧的MySQL版本 rpm -qa | grep mysql rpm -e --nodeps mysql-libs # 如果存在依赖关系,则使用强制删除模式 此外,还需要删除与MySQL相关的用户、组、配置文件和数据目录: 删除MySQL用户和组 userdel -r mysql 删除配置文件和数据目录 rm -rf /etc/my rm -rf /var/lib/mysql 2. 创建MySQL用户和组 为了安全和管理的方便,我们需要为MySQL创建一个专门的用户和组: 创建mysql用户组 groupadd mysql 创建mysql用户,并指定其所属组为mysql,同时禁止其登录系统且不创建家目录 useradd -r -g mysql -M -s /bin/false mysql 3. 安装编译工具和依赖包 编译MySQL需要一系列的工具和依赖包,如gcc、g++、make、cmake、ncurses-devel、openssl-devel等

    使用以下命令进行安装: 安装编译工具和依赖包 yum -y install make gcc gcc-c++ cmake bison-devel ncurses-devel openssl-devel 请注意,对于MySQL 5.7及以上版本,还需要安装Boost库,因为高版本的MySQL需要Boost库才能正常运行

     4. 下载MySQL源码包 从MySQL官方网站下载所需的源码包

    例如,可以下载MySQL 5.7.27版本的源码包: 使用wget下载MySQL源码包 wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.27.tar.gz 下载完成后,解压源码包到指定目录: 解压源码包到/root/MySQL目录 tar xzvf mysql-boost-5.7.27.tar.gz -C /root/MySQL/ 二、编译安装MySQL 完成准备工作后,我们可以开始编译安装MySQL

     1. 进入解压后的MySQL目录 首先,进入解压后的MySQL源码目录: 进入MySQL源码目录 cd /root/MySQL/mysql-5.7.27/ 2. 使用cmake进行编译配置 在编译之前,我们需要使用cmake进行编译配置

    cmake提供了丰富的配置选项,允许我们指定安装路径、数据目录、字符集等

    以下是一个示例配置: 使用cmake进行编译配置 cmake . -DWITH_BOOST=boost/boost_1_59_0/ -DCMAKE_INSTALL_PREFIX=/root/MySQL/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 请注意,如果下载的源码包中包含了Boost库,则可以使用`-DDOWNLOAD_BOOST=1`选项来自动下载Boost库

    否则,需要手动指定Boost库的路径

     3. 编译和安装MySQL 完成cmake配置后,我们可以开始编译和安装MySQL: 编译和安装MySQL make && make install 编译过程可能需要一些时间,具体时间取决于系统性能和源码包的大小

    如果编译过程中出现错误,可以根据错误信息排查问题并重新编译

     三、配置和初始化MySQL 编译安装完成后,我们需要对MySQL进行配置和初始化

     1. 创建数据目录并赋予权限 首先,创建MySQL的数据目录,并赋予mysql用户和组相应的权限: 创建数据目录 mkdir -p /usr/local/mysql/data 赋予权限 chown -R mysql:mysql /usr/local/mysql chown -R mysql:mysql /usr/local/mysql/data 2. 初始化数据库 接下来,我们需要初始化MySQL数据库

    初始化过程会创建系统自带的数据库和表: 初始化数据库 cd /usr/local/mysql/bin/ ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 初始化完成后,可以在数据目录下找到生成的错误日志文件(如mysql.err),其中包含了root用户的初始密码

    请务必记住这个密码,以便后续登录和修改

     3. 配置MySQL 我们需要编辑MySQL的配置文件(my.cnf),以设置端口、字符集、数据目录等

    可以将配置文件放在/etc目录下,或者放在MySQL的安装目录下

    以下是一个示例配置: 编辑配置文件 vim /etc/my.cnf 在配置文件中添加以下内容: 【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 4. 启动MySQL服务 配置完成后,我们可以启动MySQL服务

    为了方便管理,可以将MySQL的服务脚本复制到init.d目录下,并设置开机自启动: 复制服务脚本到init.d目录 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 设置开机自启动 chkconfig mysql on 启动MySQL服务 service mysql start 5. 设置环境变量 为了方便在任何目录下都能访问MySQL的命令行工具和其他二进制文件,我们需要设置环境变量: 编辑/etc/profile文件 vim /etc/profile 在文件末尾添加以下内容: export PATH=$PATH:/usr/local/mysql/bin 保存并退出后,使环境变量立即生效: 使环境变量立即生效 source /etc/profile 四、登录和修改密码 MySQL服务启动后,我们可以使用root用户登录,并修改初始密码

     1. 登录MySQL 使用以下命令登录MySQL: 登录MySQL mysql -u root -p 输入初始密码后,即可进入MySQL命令行界面

     2. 修改密码 为了安全起见,我们需要尽快修改ro

MySQL连接就这么简单!本地远程、编程语言连接方法一网打尽
还在为MySQL日期计算头疼?这份加一天操作指南能解决90%问题
MySQL日志到底在哪里?Linux/Windows/macOS全平台查找方法在此
MySQL数据库管理工具全景评测:从Workbench到DBeaver的技术选型指南
MySQL密码忘了怎么办?这份重置指南能救急,Windows/Linux/Mac都适用
你的MySQL为什么经常卡死?可能是锁表在作怪!快速排查方法在此
MySQL单表卡爆怎么办?从策略到实战,一文掌握「分表」救命技巧
清空MySQL数据表千万别用错!DELETE和TRUNCATE这个区别可能导致重大事故
你的MySQL中文排序一团糟?记住这几点,轻松实现准确拼音排序!
别再混淆Hive和MySQL了!读懂它们的天壤之别,才算摸到大数据的门道