准备工作
1.yum -y install wget gcc* bison ncurses ncurses-devel cmake
源码安装cmake
cd /usr/local/src/
wget https://cmake.org/files/v3.7/cmake-3.7.1.tar.gz
tar zxvf cmake-3.7.1.tar.gz
cd cmake-3.7.1
./bootstrap && gmake && gmake install
3.此版本需要boost_1_59_0,下载解压到某个目录,安装mysql时需要指定。另外,mysql官网提供含有boost的mysql源码包。
wget https://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
tar zxf boost_1_59_0.tar.gz
mv boost_1_59_0 /usr/local/boost
4.下载mysql源码包(不含boost)并解压
cd /usr/local/src/
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.17.tar.gz
tar zxvf mysql-5.7.17.tar.gz
安装过程
1.创建用户和组mysql:mysql
groupadd mysql
useradd -r -g mysql -s /sbin/nologin mysql
2.编译安装mysql
cd /usr/local/src/mysql-5.7.17
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/mysqldata/ -DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/boost
$ make && make install
###可以用多个线程同时编译安装 make -j4 && make -j4 install ##表示用4个线程同时编译
3.初始化
cd /usr/local/mysql
chown -R mysql:mysql .
mkdir -p /data/mysql
chown -R mysql.mysql /data/mysql
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
./bin/mysql_ssl_rsa_setup --datadir=/data/mysql
5.7.6及以上版本使用 ./bin/mysqld --initialize 初始化数据库;
初始化后,会生成随机密码,示例:
2018-09-19T08:25:46.434495Z 1 [Note] A temporary password is generated for root@localhost: t+5dodigsF#p
./bin/mysql_ssl_rsa_setup需要openssl支持,用于启用数据量ssl连接,需要进一步配置。
4.配置文件
cp support-files/my-default.cnf /etc/my.cnf
修改部分:
basedir = /usr/local/mysql
datadir = /data/mysql
port = 3306
socket = /tmp/mysql.sock
5.启动脚本
cp support-files/mysql.server /etc/init.d/mysqld
修改部分:
basedir = /usr/local/mysql
datadir = /data/mysql
启动脚本有两个,分别是 /usr/local/mysql/bin/mysqld_safe 和 /usr/local/mysql/support-files/mysql.server(即/etc/init.d/mysqld)。当启动mysqld时,mysqld_safe同时启动,mysqld_safe监控mysqld服务,记录错误日志,并在mysqld因故障停止时将其重启。
6.启动mysqld服务
/etc/init.d/mysqld start
若想设置开机启动:(任选一个)
chkconfig --add mysqld
chkconfig mysqld on
service mysqld start
建立一个软连接,方便使用mysql命令
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
用初始密码登陆后会提示 重置root本地账户的密码
alter user 'root'@'localhost' identified by '新密码';
重置权限表
flush privileges;
运维QQ交流群:171586999