1、下载带boost的mysql,不带boost需要单独安装
wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-boost-5.7.18.tar.gz
2、安装cmake
yum install -y cmake
3、创建运行mysql的用户
useradd -s /sbin/nologin mysql1
4、编译安装mysql
tar zxvf mysql-boost-5.7.18.tar.gz
cd mysql-5.7.18/
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql1 -DMYSQL_UNIX_ADDR=/tmp/mysql1.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/home/data/mysql1/data -DMYSQL_USER=mysql1 -DWITH_BOOST=/home/data/soft/mysql-5.7.18/boost -DMYSQL_TCP_PORT=3307
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql1 \#指定安装路径
-DMYSQL_UNIX_ADDR=/tmp/mysql1.sock \#MySQL进程间通信的套接字的位置
-DDEFAULT_CHARSET=utf8 \#默认字符集
-DDEFAULT_COLLATION=utf8_general_ci \#默认的字符集排序规则
-DWITH_EXTRA_CHARSETS:STRING=all \#安装所有字符集
-DWITH_MYISAM_STORAGE_ENGINE=1 \#支持MyIASM引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 \#支持InnoDB引擎
-DWITH_MEMORY_STORAGE_ENGINE=1 \#支持Memory引擎
-DWITH_READLINE=1 \#快捷键功能
-DENABLED_LOCAL_INFILE=1 \#允许从本地导入数据
-DMYSQL_DATADIR=/home/data/mysql1/data \#数据安装路径
-DMYSQL_USER=mysql1#指定用户
-DMYSQL_TCP_PORT=3307#指定端口
-DWITH_BOOST=/root/mysql-5.7.18/boost#指定boost
make
make install
mkdir /usr/local/mysql1/etc#创建配置文件路径
vim /usr/local/mysql1/etc/my.cnf#创建配置文件(配置不对,初始化不会成功)
rm -rf /home/data/mysql1/data/*#初始化之前要保证没有数据文件
/usr/local/mysql1/bin/mysqld --initialize --user=mysql1 --basedir=/usr/local/mysql1 --datadir=/home/data/mysql1/data#数据库初始化
/home/data/logs/mysql1/mysql1_error.log初始化临时密码会写到错误日志里
chown -R mysql1:mysql1 /home/data/mysql1#给mysql数据目录权限
mkdir-p /home/data/logs/mysql1#创建配置文件中错误日志目录
touch /home/data/logs/mysql1/mysql1_error.log#创建配置文件中错误日志文件(不创建无法启动)
chown -R /home/data/logs/mysql1#更改日志目录权限
/usr/local/mysql1/bin/mysqld_safe --defaults-file=/usr/local/mysql1/etc/my.cnf --user=mysql1 后台运行方式启动mysql
/usr/local/mysql1/bin/mysql -uroot -p#登录mysql
>set password = '123456';#更改mysql的root密码
>mysql>GRANT ALL PRIVILEGES ON *.* TO'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;#设置root用户在任何地方以123456为密码登录,并有所有库权限(ALL PRIVILEGES为所有权限、*.*为所有库、%为所有IP)
>flush privileges;
>exit