centos7源码编译安装mysql8.0
需要的资源
- CPU最少2核以上
- 内存最少2G以上
- swap分区2G以上
一、安装前准备
1、安装各种依赖包
yum -y install wget ncurses ncurses-devel libaio-devel openssl openssl-devel
2、8.0版本的mysql编译需要cmake版本3.5以上,yum安装的版本是2.9,所以需要手动编译安装cmake3.9的版本
wget https://pan.cnbugs.com/cmake/cmake-3.9.1.tar.gz
tar xf cmake-3.9.1.tar.gz
cd cmake-3.9.1/
./configure && make && make install
3、8.0版本的mysql需要gcc版本为5.3以上,yum安装为4.8.5
安装gcc依赖包,否则会报错
yum install gmp gmp-devel mpfr mpfr-devel git libmpc libmpc-devel glibc-headers -y
wget http://mirror.koddos.net/gcc/releases/gcc-6.4.0/gcc-6.4.0.tar.gz
tar xf gcc-6.4.0.tar.xz
cd gcc-6.4.0/
mkdir tmp
cd tmp
../configure -enable-language=c,c++,go --disable-multilib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
make -j12 && make install
这个编译会非常非常久,就慢慢等吧,如果有双核CPU可以使用make -j2,4核CPU可以使用make -j4可以大大提高编译速度。
查看版本
升级zlib
二、下载安装mysql8.0
1、下载带有boost的安装包
cd /opt/
wget https://repo.huaweicloud.com/mysql/Downloads/MySQL-8.0/mysql-boost-8.0.27.tar.gz
2、解压mysql包并编译安装
[root@mysql_8 opt]# tar xf mysql-boost-8.0.27.tar.gz
[root@mysql_8 opt]# cd mysql-8.0.27/
cmake . -DBUILD_CONFIG=mysql_release \
-DINSTALL_LAYOUT=STANDALONE \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DWITH_INNODB_MEMCACHED=ON \
-DWITH_ZLIB=system \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DINSTALL_PLUGINDIR="/usr/local/mysql/lib/plugin" \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EDITLINE=bundled \
-DCOMPILATION_COMMENT="MySQL Server (GPL)" \
-DWITH_DEBUG=OFF \
-DFORCE_INSOURCE_BUILD=1 \
-DWITH_SSL=system \
-DWITH_BOOST=./boost
不报错则预编译成功
编译
make -j2
无报错信息输出
安装
make install
无报错信息表示安装完成
三、配置
1、 新建数据库文件夹及日志文件夹,并更改用户为mysql
[root@mysql_8 mysql-8.0.20]# useradd -s /sbin/nologin mysql
[root@mysql_8 mysql-8.0.20]# mkdir -p /data/mysql
[root@mysql_8 mysql-8.0.20]# chown -R mysql:mysql /data/mysql/
[root@mysql_8 mysql-8.0.20]# mkdir -p /var/log/mysql
[root@mysql_8 mysql-8.0.20]# chown -R mysql:mysql /var/log/mysql/
[root@mysql_8 mysql-8.0.20]# mkdir -p /var/run/mysql
[root@mysql_8 mysql-8.0.20]# chown -R mysql:mysql /var/run/mysql
2、修改配置文件my.cnf
[root@mysql_8 mysql-8.0.20]# vim /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/tmp/mysql.sock
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysql/mysql.log
pid-file=/var/run/mysql/mysql.pid
!includedir /etc/my.cnf.d
3、初始化mysql数据库
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/
查看/data/mysql数据文件
初始密码在最后标红
4、复制服务文件到/etc/init.d下面
[root@mysql_8 mysql]# cp /opt/mysql-8.0.20/support-files/mysql.server /etc/init.d/
[root@mysql_8 mysql]# chmod a+x /etc/init.d/mysql.server
[root@mysql_8 mysql]# /etc/init.d/mysql.server start
5、查看服务
6、登陆数据库修改初始root密码
[root@mysql_8 mysql]# echo "export PATH=/usr/local/mysql/bin:$PATH:/usr/local/bin" >/etc/profile.d/mysql.sh
[root@mysql_8 mysql]# source /etc/profile.d/mysql.sh
[root@mysql_8 mysql]# mysql -u root -pWtiTtp44
修改密码
mysql> alter user 'root'@'localhost' identified with mysql_native_password BY '新密码';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
后记:
总之装了大半天,遇到了一大堆各种问题。解决办法可以在网站中查找。不懂的可以加群讨论。
主题授权提示:请在后台主题设置-主题授权-激活主题的正版授权,授权购买:RiTheme官网
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。