centos7 使用源码包编译安装MySQL 5.7.20
使用yum安装的mysql一般版本不是最新版,且有时候会造成版本不同一。唯一好处就是运行起来比较稳定。
一,下载mysql源码
1 下载地址:https://dev.mysql.com/downloads/mysql/
2 wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20.tar.gz
二, 下载boost
1 下载地址:http://www.boost.org/users/download/
2 wget --no-check-certificate http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
三, 编译安装
1 安装必要的软件依赖
yum install -y cmake bison bison-devel libaio-devel gcc gcc-c++ git ncurses-devel
2 解压MySQL源文件
tar -zxvf mysql-5.7.20.tar.gz
3 将boost的压缩文件移动到解压后的源文件目录下
mv boost_1_59_0 mysql-5.7.20
4 进入MySQL源文件目录下,新建configure作为编译目录,并进入该目录
cd mysql-5.7.20
mkdir configure
cd configure
5 使用cmake进行生成编译环境
cmake .. -DBUILD_CONFIG=mysql_release \
-DINSTALL_LAYOUT=STANDALONE \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DENABLE_DTRACE=OFF \
-DWITH_EMBEDDED_SERVER=OFF \
-DWITH_INNODB_MEMCACHED=ON \
-DWITH_SSL=bundled \
-DWITH_ZLIB=system \
-DWITH_PAM=ON \
-DCMAKE_INSTALL_PREFIX=/var/mysql/ \
-DINSTALL_PLUGINDIR="/var/mysql/lib/plugin" \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EDITLINE=bundled \
-DFEATURE_SET=community \
-DCOMPILATION_COMMENT="MySQL Server (GPL)" \
-DWITH_DEBUG=OFF \
-DWITH_BOOST=..
注意:成功出现提示为-- Configuring done -- Generating done 如果出现错误,请删掉CMakeCache.txt。再次重新编译
四, 使用make进行编译
1 make
注意:编译完成后会提示
Built target udf_example
Scanning dependencies of target my_safe_process
[100%] Building CXX object mysql-test/lib/My/SafeProcess/CMakeFiles/my_safe_process.dir/safe_process.cc.o
Linking CXX executable my_safe_process
[100%] Built target my_safe_process
五,安装MYSQL
1 make install
注意:(可直接:make && make install)
六,初始化数据库
1 添加mysql用户
useradd -s /sbin/nologin mysql
2 新建数据库文件夹及日志文件, 并更改用户为mysql
mkdir /mysql_data
mkdir /var/mysql/mysql.log
chown -R mysql:mysql /mysql_data
chown -R mysql:mysql /var/mysql/mysql.log
3 修改配置文件
vim /etc/my.cnf
[mysql]
port=3306
datdadir=/mysql_data
log_error=/var/mysql/mysql.log
basedir=/var/mysql/
4 初始化数据库
/var/mysql/bin/mysqld --initialize --user=mysql
5 设置mysql开机启动
vim /root/.bash_profile
PATH=$PATH:$HOME/bin:/var/mysql/bin
systemctl enable mysqld
七, 修改root的初始密码 mysql 5.7 以后不支持空密码登录。因此在这里需要先查询程序生成的临时密码
cat /var/mysql/log/error.log |grep 'A temporary password'
修改密码
alter user 'root'@'localhost' identified by 'your_password';
安装完成!!!心得妈的,一点优化有都没

浙公网安备 33010602011771号