用源码安装mysql
封面图
•
2025-10-18
•
MySQL
244
0
0
0
用源码安装 MySQL 是一种比较灵活的方式,适用于需要自定义编译参数、使用特定版本或对系统环境有特殊要求的情况。以下是基于 Linux 系统(如 Ubuntu 或 CentOS)的源码安装 MySQL 的步骤。 --- ## ✅ 一、准备工作 ### 1. 安装依赖库 ```bash # Ubuntu/Debian sudo apt update sudo apt install -y build-essential libncurses-dev libssl-dev libreadline-dev libmariadb-dev-compat cmake # CentOS/RHEL sudo yum groupinstall "Development Tools" -y sudo yum install -y ncurses-devel openssl-devel readline-devel mariadb-libs cmake ``` --- ## ✅ 二、下载 MySQL 源码包 你可以从 [MySQL 官方网站](https://dev.mysql.com/downloads/mysql/) 下载源码包,或者使用 `wget` 命令下载: ```bash cd /usr/local/src wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.33.tar.gz tar -zxvf mysql-8.0.33.tar.gz cd mysql-8.0.33 ``` > 替换为你要安装的版本号(如 `mysql-8.0.33`) --- ## ✅ 三、配置编译选项 ```bash cmake . \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/var/lib/mysql \ -DSYSCONFDIR=/etc \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DENABLE_DTRACE=0 \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ -DWITH_LIBWRAP=0 \ -DDEFAULT_CHARSET=utf8mb4 \ -DDEFAULT_COLLATION=utf8mb4_unicode_ci ``` > 这里是常用的编译选项,可以根据需要调整。 --- ## ✅ 四、编译和安装 ```bash make -j$(nproc) # 使用多核编译加快速度 sudo make install ``` --- ## ✅ 五、创建 MySQL 用户和目录 ```bash sudo useradd -r -s /bin/false mysql sudo mkdir -p /var/lib/mysql sudo chown -R mysql:mysql /var/lib/mysql ``` --- ## ✅ 六、初始化数据库 ```bash sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/var/lib/mysql ``` > 初始化完成后会生成一个临时密码,记录在日志中(通常是 `/var/log/mysqld.log`),或者终端输出中。 --- ## ✅ 七、设置开机启动(可选) 创建 systemd 服务文件: ```bash sudo nano /etc/systemd/system/mysqld.service ``` 内容如下: ```ini [Unit] Description=MySQL Server After=network.target [Service] User=mysql Group=mysql ExecStart=/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/var/lib/mysql Restart=always [Install] WantedBy=multi-user.target ``` 保存后执行: ```bash sudo systemctl daemon-reload sudo systemctl enable mysqld sudo systemctl start mysqld ``` --- ## ✅ 八、登录 MySQL 并修改密码 ```bash /usr/local/mysql/bin/mysql -u root -p ``` 输入初始化时生成的临时密码,然后修改密码: ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password'; ``` --- ## ✅ 九、添加环境变量(可选) 为了方便使用 `mysql` 命令,可以将路径加入环境变量: ```bash echo 'export PATH=/usr/local/mysql/bin:$PATH' >> ~/.bashrc source ~/.bashrc ``` --- ## ✅ 十、验证安装 ```bash mysql --version ``` 应该显示类似: ``` mysql Ver 8.0.33 for Linux on x86_64 (MySQL Community Server - GPL) ``` --- ## 📌 注意事项 - 如果你遇到编译错误,请检查是否缺少依赖库。 - 如果你想支持中文或其他字符集,确保 `utf8mb4` 被正确启用。 - 源码安装较慢,建议在服务器上进行,不要在本地机器上操作。 --- 如果你需要我帮你生成适合你系统的 `CMake` 配置选项,可以告诉我你的具体需求(比如:是否要支持 SSL、是否要启用某些存储引擎等)。
上一篇:
MySQL Distinct 去掉查询结果重复记录
下一篇:
MySQL · 引擎特性 · InnoDB Buffer Pool
标题录入,一次不能超过6条
留言
评论