当前位置:首页 > 虚拟主机 > 正文

MySQL源码安装配置,如何正确完成Linux环境下的详细步骤?一文看懂

MySQL 源码安装配置指南(以 Ubuntu 为例)

安装依赖

sudo apt update sudo apt install -y cmake build-essential libssl-dev libncurses5-dev libreadline-dev zlib1g-dev libboost-all-dev

下载源码

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-boost-8.0.33.tar.gz tar -zxvf mysql-boost-8.0.33.tar.gz cd mysql-8.0.33

配置编译选项

mkdir build cd build cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DWITH_BOOST=../boost -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_0900_ai_ci -DENABLED_LOCAL_INFILE=ON -DWITH_SSL=system

编译安装

make -j$(nproc) # 使用所有CPU核心加速编译 sudo make install

创建系统用户和目录

sudo groupadd mysql sudo useradd -r -g mysql -s /bin/false mysql sudo mkdir -p /usr/local/mysql/data sudo chown -R mysql:mysql /usr/local/mysql

初始化数据库

cd /usr/local/mysql sudo bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

注意:保存输出的临时 root 密码(格式:[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 临时密码)

配置文件设置

sudo cp support-files/mysql.server /etc/init.d/mysql sudo vim /etc/my.cnf [mysqld] basedir=/usr/local/mysql datadir=/usr/local/mysql/data socket=/tmp/mysql.sock [client] socket=/tmp/mysql.sock

启动服务

sudo /etc/init.d/mysql start

修改 root 密码

bin/mysql -u root -p # 输入临时密码 ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码'; FLUSH PRIVILEGES;

设置环境变量

echo 'export PATH=/usr/local/mysql/bin:$PATH' >> ~/.bashrc source ~/.bashrc

验证安装

mysql -V # 输出: mysql Ver 8.0.33 for Linux on x86_64 (Source distribution)

常见问题解决

  1. CMake 错误

    • 检查缺失的依赖包,根据错误提示安装对应开发包
    • 清除 CMake 缓存:rm CMakeCache.txt
  2. 启动失败

    MySQL源码安装配置,如何正确完成Linux环境下的详细步骤?一文看懂 第1张

    tail -f /usr/local/mysql/data/主机名.err # 查看错误日志

  3. 连接问题

    MySQL源码安装配置,如何正确完成Linux环境下的详细步骤?一文看懂 第2张

    MySQL源码安装配置,如何正确完成Linux环境下的详细步骤?一文看懂 第3张

    sudo ln -s /tmp/mysql.sock /var/run/mysqld/mysqld.sock
  4. 卸载方法

    sudo /etc/init.d/mysql stop sudo rm -rf /usr/local/mysql sudo rm -rf /etc/my.cnf /etc/init.d/mysql sudo userdel mysql sudo groupdel mysql

    注意

    1. 编译过程可能耗时较长(30分钟至数小时)
    2. 确保系统有足够内存(建议 >2GB)
    3. 不同版本 Boost 要求不同,MySQL 8.0 要求 Boost 1.77.0
    4. 生产环境建议添加防火墙规则:sudo ufw allow 3306

    通过以上步骤,您已完成 MySQL 的源码编译安装,可根据需要进一步优化配置参数。

0