《源码安装MySQL 5.5.14到个人目录》
在Linux系统中,通过源码编译安装MySQL 5.5.14到个人目录是一种灵活且可控的方式,尤其适合需要定制化配置或无法使用包管理器安装的场景。本文将详细介绍从下载源码、配置编译选项到完成安装的全流程,并针对常见问题提供解决方案。
一、准备工作
1.1 系统环境要求
MySQL 5.5.14对系统环境有明确要求:
- Linux内核版本建议2.6以上
- GCC编译器版本需4.1+(推荐4.4+)
- Cmake 2.6+(用于配置编译)
- Ncurses开发库(用于命令行交互)
可通过以下命令检查环境:
gcc --version
cmake --version
ldconfig -p | grep ncurses
1.2 创建个人目录结构
在用户主目录下创建MySQL专用目录:
mkdir -p ~/mysql/install ~/mysql/data ~/mysql/logs
目录说明:
- install:存放编译后的二进制文件
- data:存储数据库数据文件
- logs:存放错误日志和慢查询日志
二、下载源码包
2.1 官方源码获取
从MySQL官方仓库下载5.5.14版本源码:
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.5.14.tar.gz
验证文件完整性:
sha1sum mysql-5.5.14.tar.gz | grep '正确的SHA1值'
2.2 解压源码
tar -zxvf mysql-5.5.14.tar.gz
cd mysql-5.5.14
三、编译配置
3.1 安装依赖库
在Ubuntu/Debian系统上安装必要依赖:
sudo apt-get install build-essential cmake libncurses5-dev bison
在CentOS/RHEL系统上:
sudo yum install gcc-c++ cmake ncurses-devel bison
3.2 配置编译选项
使用Cmake配置编译参数,关键选项说明:
- -DCMAKE_INSTALL_PREFIX:指定安装目录
- -DMYSQL_DATADIR:指定数据目录
- -DWITH_INNOBASE_STORAGE_ENGINE:启用InnoDB引擎
- -DENABLED_LOCAL_INFILE:允许本地文件加载
完整配置命令:
cmake . \
-DCMAKE_INSTALL_PREFIX=~/mysql/install \
-DMYSQL_DATADIR=~/mysql/data \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DSYSCONFDIR=~/mysql/etc \
-DWITH_DEBUG=0
3.3 编译与安装
使用多核编译加速(假设4核CPU):
make -j4 && make install
编译完成后检查安装目录:
ls ~/mysql/install/bin/
应包含mysql、mysqld等核心程序。
四、初始化数据库
4.1 创建配置文件
在~/mysql/etc目录下创建my.cnf:
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
user = $USER
port = 3306
basedir = ~/mysql/install
datadir = ~/mysql/data
socket = /tmp/mysql.sock
log-error = ~/mysql/logs/error.log
pid-file = ~/mysql/logs/mysql.pid
skip-name-resolve
4.2 初始化数据目录
执行初始化脚本(注意使用绝对路径):
~/mysql/install/scripts/mysql_install_db \
--user=$USER \
--basedir=~/mysql/install \
--datadir=~/mysql/data
成功输出应包含"Installation of system table finished"字样。
五、启动与验证
5.1 启动MySQL服务
使用安全模式启动(避免网络监听):
~/mysql/install/bin/mysqld_safe \
--defaults-file=~/mysql/etc/my.cnf \
--skip-grant-tables &
或正常模式启动:
~/mysql/install/bin/mysqld_safe \
--defaults-file=~/mysql/etc/my.cnf &
5.2 验证服务状态
检查进程是否存在:
ps aux | grep mysqld
查看错误日志:
tail -f ~/mysql/logs/error.log
5.3 连接测试
使用客户端连接:
~/mysql/install/bin/mysql -u root -S /tmp/mysql.sock
执行简单查询验证:
SHOW VARIABLES LIKE 'version%';
六、安全配置
6.1 设置root密码
在MySQL命令行中执行:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('你的密码');
FLUSH PRIVILEGES;
6.2 创建专用用户
CREATE USER 'appuser'@'localhost' IDENTIFIED BY '用户密码';
GRANT ALL PRIVILEGES ON *.* TO 'appuser'@'localhost';
FLUSH PRIVILEGES;
6.3 删除匿名用户
DROP USER ''@'localhost';
七、环境变量配置
7.1 添加PATH变量
在~/.bashrc或~/.bash_profile中添加:
export PATH=~/mysql/install/bin:$PATH
export MYSQL_HOME=~/mysql/install
生效配置:
source ~/.bashrc
7.2 验证环境变量
which mysql
echo $MYSQL_HOME
八、常见问题解决
8.1 编译错误处理
问题1:缺少依赖库
现象:CMake报错"Could NOT find Xxx"
解决方案:安装对应开发包(如libaio-dev)
问题2:InnoDB启动失败
现象:error.log中出现"InnoDB: Failed to find tablespace"
解决方案:删除ibdata1文件后重新初始化
8.2 运行错误处理
问题1:权限不足
现象:Can't create/write to file '/tmp/mysql.sock'
解决方案:检查数据目录权限
chown -R $USER:$USER ~/mysql/data
问题2:端口冲突
现象:Address already in use
解决方案:修改my.cnf中的port参数或终止冲突进程
九、卸载方法
9.1 停止服务
~/mysql/install/bin/mysqladmin -u root -p shutdown
9.2 删除文件
rm -rf ~/mysql/install ~/mysql/data ~/mysql/logs ~/mysql/etc
9.3 清理环境变量
编辑~/.bashrc删除相关PATH和MYSQL_HOME配置
十、性能优化建议
10.1 内存配置
在my.cnf中添加:
[mysqld]
innodb_buffer_pool_size = 512M # 根据物理内存调整
key_buffer_size = 128M
query_cache_size = 64M
10.2 日志配置
slow_query_log = 1
slow_query_log_file = ~/mysql/logs/slow.log
long_query_time = 2
log_queries_not_using_indexes = 1
10.3 连接数优化
max_connections = 200
thread_cache_size = 32
关键词:MySQL源码安装、个人目录部署、Cmake配置、数据库初始化、安全配置、性能优化、依赖管理、错误排查
简介:本文详细介绍了MySQL 5.5.14从源码编译到个人目录部署的全过程,包括环境准备、依赖安装、编译配置、数据库初始化、服务启动、安全设置及性能优化等关键步骤,并提供了常见问题的解决方案和卸载方法,适合需要定制化部署MySQL的开发者参考。