- 环境
1️⃣关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
2️⃣关闭selinuxsed -i '/SELINUX/s/enforcing/disabled/g' /etc/selinux/config
setenforce 0
3️⃣安装依赖包
yum install -y gcc gcc-c++ cmake ncurses ncurses-devel bison
yum groupinstall -y Development\ Tools
4️⃣准备逻辑卷挂在路径 /mydata/data
5️⃣创建mysql用户并授权数据目录
useradd -s /sbin/nologin mysql
chown -R mysql:mysql /mydata/data
- 下载mysql源码包https://dev.mysql.com/downloads/mysql/到/opt/目录下
创建目录mkdir -p /usr/local/mysql
解压:tar xf mysql-boost-5.7.17.tar
- 卸载本机自带mariadb
- cd /opt/mysql-5.7.17/下进行编译
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_DATADIR=/mydata/data -DMYSQL_TCP_PORT=3306 -DWITH_BOOST=boost/boost_1_59_0/ -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1
见到如下表示成功:
接下来make && make install
注意:如果出错解决错误之后,先删除mysql安装路径下CMakeCache.txt再编译,其记录了编译过程
- 授权
chown -R root:mysql /usr/local/mysql - 初始化数据库
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/mydata/data
红框里代表的是mysql初始密码
有如下内容表示成功
- 拷贝模板作为mysql的配置文件
cp /opt/mysql-5.7.17/support-files/my-default.cnf /etc/my.cnf
vim /etc/my.cnf
- 启动服务
/usr/local/mysql/bin/mysqld_safe --user=mysql &
查看是否启动成功 - 由于/usr/local//mysql/bin目录是有很多命令则将其配置为环境变量
echo "export PATH=\$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile
- 就直接可以用mysql命令了,修改root密码,用之前看到的密码登录,并修改密码
- 最后设置mysql开机自启动
vim /etc/rc.d/rc.local