爱分享

mysql 5.7.44编译安装

mysql.png

mysql的安装有APM安装与编译安装,今天选择一种可高度自定义的编译安装。

1. 准备工作

1.1 安装依赖包

# 对于基于RPM的系统(如CentOS/RHEL): sudo yum install -y gcc gcc-c++ cmake make ncurses-devel openssl-devel bison \ libaio-devel libcurl-devel zlib-devel

1.2 创建MySQL用户和组

sudo groupadd mysql sudo useradd -r -g mysql -s /bin/false mysql

1.3 下载MySQL源码

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.44.tar.gz tar -zxvf mysql-5.7.44.tar.gz cd mysql-5.7.44

2. 编译配置

2.1 创建编译目录

bash
mkdir build cd build

2.2 运行cmake配置

bash
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/usr/local/mysql/data \ -DSYSCONFDIR=/etc \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DWITH_FEDERATED_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DENABLED_LOCAL_INFILE=1 \ -DENABLE_DTRACE=0 \ -DDEFAULT_CHARSET=utf8mb4 \ -DDEFAULT_COLLATION=utf8mb4_general_ci \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ -DWITH_LIBWRAP=0 \ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ -DWITH_BOOST=/data/tools/boost_1_59_0 \   # -DWITH_DEBUG=0

2.3 编译和安装

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

3. 安装后配置

3.1 设置权限

bash
cd /usr/local/mysql sudo chown -R mysql:mysql .

3.2 初始化数据库

bash
sudo bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
注意:初始化过程会生成一个临时root密码,请记下这个密码(在输出信息的最后)。

3.3 设置SSL(可选)

bash
sudo bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

3.4 修改配置文件

创建或编辑 /etc/my.cnf 文件:
ini
[mysqld] basedir=/usr/local/mysql datadir=/usr/local/mysql/data socket=/tmp/mysql.sock user=mysql port=3306 # 禁用符号链接以防止安全风险 symbolic-links=0 # 设置字符集 character-set-server=utf8mb4 collation-server=utf8mb4_general_ci [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid

3.5 创建日志和PID目录

bash
sudo mkdir /var/log/mysql sudo touch /var/log/mysql/mysqld.log sudo chown -R mysql:mysql /var/log/mysql sudo mkdir /var/run/mysqld sudo touch /var/run/mysqld/mysqld.pid sudo chown -R mysql:mysql /var/run/mysqld

4. 启动MySQL服务

4.1 创建启动脚本

bash
sudo cp support-files/mysql.server /etc/init.d/mysqld sudo chmod +x /etc/init.d/mysqld

4.2 启动MySQL

bash
sudo /etc/init.d/mysqld start

4.3 设置开机启动

bash
# 对于systemd系统(如CentOS 7+/Ubuntu 16.04+): sudo cp /usr/local/mysql/support-files/mysql.server /usr/lib/systemd/system/mysqld.service sudo systemctl daemon-reload sudo systemctl enable mysqld # 对于SysV init系统: sudo chkconfig --add mysqld sudo chkconfig mysqld on

5. 初始设置

5.1 修改root密码

使用初始化时生成的临时密码登录:
bash
/usr/local/mysql/bin/mysql -uroot -p
然后在MySQL提示符下:
sql
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码'; FLUSH PRIVILEGES;

5.2 设置环境变量

将MySQL二进制文件路径添加到PATH:
bash
echo 'export PATH=/usr/local/mysql/bin:$PATH' >> ~/.bashrc source ~/.bashrc

6. 验证安装

bash
mysql --version
应该显示类似以下内容:
text
mysql  Ver 14.14 Distrib 5.7.44, for Linux (x86_64) using  EditLine wrapper


nyx
nyx
这个人很神秘