- 服务器环境 CentOS 7.2
- 安装的 MySQL 版本 5.6.35
首先下载几个依赖包「突然忘了这些依赖包是不是在 mysql 」
yum install -y gcc gcc-c++ cmake autoconf ncurses ncurses-devel ncurses-libs
官网下载 MySQL 的源码包
wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.35.tar.gz
解压
tar -zxvf mysql-5.6.35.tar.gz
cd mysql-5.6.35
使用 cmake 设置编译参数
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysqldb \
-DMYSQL_TCP_PORT=3306 \
-DENABLE_DOWNLOADS=1
编译安装「编译安装过程中遇到的问题基本上就是却上上面的几个依赖包」
make && make install
/usr/local/mysql 文件夹编译安装后就会存在,但是 /data/mysqldb 文件夹需要自己建
mkdir /data/mysqldb
新增对应的用户跟用户组,给两个文件夹分一下权限「一开始给 /usr/local/mysql 的权限分到 mysql 用户组下,启动 mysql 时会提示没有权限的问题,所以改成 root 用户组」
groupadd mysql && useradd -r -g mysql mysql
chown -R mysql:root /usr/local/mysql
chown -R mysql:mysql /data/mysqldb
初始化数据库
/usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb
复制一下配置文件「如果已经存在的话就覆盖」
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
复制一下启动文件
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
在 /etc/profile 文件尾追加
PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH export PATH
保存后执行命令更新环境变量
source /etc/profile
启动并查看 mysql 是否运行
service mysqld start
netstat -anpe | grep 3306
最后修改一下 root 用户的登录密码
mysqladmin -u root password '123'
基本上本次编译安装 MySQL 遇到的坑都在上述过程中解决了,如果有其他问题出现的话,欢迎留言交流
网友评论