
尽管过程可能稍显复杂,但通过详细的指导和逐步的操作,我们可以顺利完成这一任务
本文将详细介绍如何在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构建1对多关系指南
Linux环境下编译安装MySQL指南
掌握MySQL高效查询:详解NOT IN语法应用
两台文件服务器高效备份策略
群辉配置备份:确保数据安全无忧
MySQL数据文件后缀揭秘
MySQL数据迁移至Oracle全攻略
阿里Linux服务器上如何优雅退出MySQL数据库操作指南
MySQL集群扩容:Linux系统实战指南
Linux启动MySQL遇错误解决指南
Java环境安装MySQL指南
Linux系统下快速下载MySQL指南
Linux环境下禅道系统MySQL服务启动失败解决方案
VS2017环境下MySQL数据库应用指南
MySQL与Tomcat环境变量配置指南
Windows环境下MySQL5.6数据库同步实战指南
MySQL配置优化:多网卡环境下的策略
MySQL低权限突破:Linux提权攻略
Linux下MySQL C编程指南PDF速览