(1) cmake build tool is a new version of MySQL
sudo yum install gcc gcc-c ++ pcre pcre-devel openssl openssl-devel sudo yum install zlib zlib-devel cmake ncurses ncurses-devel bison bison-devel follows in dependence of several CentOS7 need to install, CentOS6 not need sudo yum install perl perl -devel autoconf
Installation boost
If MySQL5.7 and above versions installed before you install the compiler need to install boost, because of the high boots need to install mysql version of the library before they can run properly. Otherwise it will report CMake Error at cmake/boost.cmake:81
an error
-
Switch to the
/usr/local
directory, and then downloaded in this directory boost
MySQL5.7.24 required boost version 1.59, later NA MySQL5.7.24wget http://www.sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
-
Decompression and renamed
tar zxvf boost_1_59_0.tar.gz mv boost_1_59_0 boost
-
When installing pre-compiled MySQL to add
-DWITH_BOOST=/usr/local/boost
Compile and install MySQL
# 添加MySQL用户
useradd -s /sbin/nologin -M mysql
# 下载MySQL
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24.tar.gz
# 解压MySQL tar zxvf mysql-5.7.24.tar.gz # 进到MySQL目录 cd mysql-5.7.24 # 预编译 cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.7.24 \ -DWITH_BOOST=/usr/local/boost \ -DMYSQL_UNIX_ADDR=/usr/local/mysql-5.7.24/tmp/mysql.sock \ -DMYSQL_DATADIR=/usr/local/mysql-5.7.24/data \ -DDEFAULT_CHARSET=utf8mb4 \ -DDEFAULT_COLLATION=utf8mb4_general_ci \ -DWITH_EXTRA_CHARSETS=all \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_MEMORY_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DWITH_INNODB_MEMCACHED=1 \ -DWITH_DEBUG=OFF \ -DWITH_ZLIB=bundled \ -DENABLED_LOCAL_INFILE=1 \ -DENABLED_PROFILING=ON \ -DMYSQL_MAINTAINER_MODE=OFF \ -DMYSQL_TCP_PORT=3306 # 编译&安装 make && make install
Configuration
# 创建软连接
cd /usr/local
ln -s mysql-5.7.24 mysql
# 添加到环境变量
vim /etc/profile
export PATH=/usr/local/mysql/bin:$PATH
export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH
source /etc/profile
cd /usr/local/mysql-5.7.24
mkdir -p /usr/local/mysql-5.7.24/{data,tmp,logs,pids}
chown mysql.mysql /usr/local/mysql-5.7.24/data
chown mysql.mysql /usr/local/mysql-5.7.24/tmp
chown mysql.mysql /usr/local/mysql-5.7.24/logs
chown mysql.mysql /usr/local/mysql-5.7.24/pids
# 修改/etc/my.cnf文件,编辑配置文件如下 [mysqld] character-set-server=utf8mb4 collation-server=utf8mb4_general_ci datadir=/usr/local/mysql/data socket=/usr/local/mysql/tmp/mysql.sock [mysqld_safe] log-error=/usr/local/mysql/logs/mysqld.log pid-file=/usr/local/mysql/pids/mysqld.pid [client] default-character-set=utf8mb4 # 创建mysqld.log 和 mysqld.pid文件 touch /usr/local/mysql/logs/mysqld.log touch /usr/local/mysql/pids/mysqld.pid chown mysql.mysql -R /usr/local/mysql/logs/ chown mysql.mysql -R /usr/local/mysql/pids/ # 加入守护进程 cd /usr/local/mysql cp support-files/mysql.server /etc/init.d/mysqld chmod a+x /etc/init.d/mysqld chkconfig --add mysqld chkconfig mysqld on # 初始化数据库, –initialize 表示默认生成一个安全的密码,–initialize-insecure 表示不生成密码 mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data # 启动MySQL service mysqld start
Log into mysql terminal
use mysql;
update user set host = '%' where user = 'root'; (mysql root so that users can connect any ip address)
FLUSH PRIVILEGES