【前提:##安装依赖】
#yum -y install make gcc-c++ cmake bison-devel ncurses-devel
#安装boost(5.7需要安装boost)
wget http://www.sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
mkdir -p /usr/local/boost
tar -zxvf boost_1_59_0.tar.gz
##下载安装包
mysql-5.7.22.tar.gz
#解压安装包
tar -zxvf mysql-5.7.22.tar.gz -C /usr/local/mysql
##安装前配置
新版本的mysql使用了cmake 进行安装,所以没有之前的configure文件了。
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/var/data/mysql/data \
-DSYSCONFDIR=/etc \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/boost/boost_1_59_0 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/data/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
.......漫长的等待
上面几个重要的地方
'-DCMAKE_INSTALL_PREFIX' 是安装目录
'-DMYSQL_DATADIR' 是数据文件存放目录
'-DSYSCONFDIR' 配置文件目录
'-DMYSQL_UNIX_ADDR' SOCK文件存放目录
'-DMYSQL_TCP_PORT' 端口号
##编译安装
make && make install
##添加mysql用户组和用户
groupadd mysql
useradd -M -g mysql -s /bin/nologin mysql
##更新/usr/local/mysql权限为mysql用户
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /var/data/mysql
##将mysql/bin加入PATH目录下
#vi /etc/profile
export PATH=${JAVA_HOME}/bin:$PATH:/usr/local/mysql/bin
#配置my.cnf
(我们上面指定配置文件位于'/etc'目录下)
vi /etc/my.cnf
如果mysql 在'/etc'目录下找不到,会去~/my.cnf 寻找,接着会到'$basedir'下去找,也就是'/usr/local/mysql/'目录
##初始化数据库,得到数据库root账号临时密码( I?f(qixHs6hk)
[root@VM_0_3_centos mysql]# /usr/local/mysql/bin/mysqld --initialize --user=mysql
2018-07-06T09:38:50.529167Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2018-07-06T09:38:52.003484Z 0 [Warning] InnoDB: New log files created, LSN=45790
2018-07-06T09:38:52.229883Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2018-07-06T09:38:52.262078Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 649a5b01-8100-11e8-be83-525400b8a4fd.
2018-07-06T09:38:52.269365Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2018-07-06T09:38:52.269910Z 1 [Note] A temporary password is generated for root@localhost: cLs<_1h1ZM%4
保存的密码
#配置系统服务(方便管理)
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
此时可以直接使用
service mysqld start ## 开机启动和systemctl管理
#vi /etc/init.d/mysqld
# chkconfig: 2345 64 36
# description: A very fast and reliable SQL database engine.## chkconfig --add mysqld
(加入开机启动项)
#chkconfig mysqld on(开启开机启动)#chkconfig mysqld off(关闭开机启动)
#chkconfig --list(查看开机启动项)
systemctl start mysqld
此时可以使用
######首次进入更改上面保存的密码
step 1: SET PASSWORD = PASSWORD('your new password');
step 2: ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER; ##设置账号密码永远不过期
step 3: flush privileges;
好了,到这里mysql 算是安装成功了!