Centos7 安装MySQL8.0

Centos7 安装 MySQL8.0

1、切换阿里云的源,备份原先自己的repo

 cd /etc/yum.repos.d/
 mv .*repo /repobak
 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
 yum repolist
 yum clean all
 yum update
 ==特别重要==
 就是update之后,会重新生成以下的repo
 ​

image-20240706190646163

2、epel-release 扩展源,主要是解决我们cmake3

yum install epel-release 不成功的话

安装的时候,有的发现安装不了,那么就采用下面的方式

2.1可以自己新建这么一个文件
 vim /etc/yum.repos.d/epel.repo

【epel.repo内容】

 [epel]
 name=Extra Packages for Enterprise Linux 7 - $basearch
 baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch 
 mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
  
 failovermethod=priority
 enabled=1
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
2.2切换到这个目录下
 cd /etc/pki/rpm-gpg/
2.3 执行下面的操作
 wget https://archive.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7

这样我们的epel-release源就下载好了

2.4、需要对之前的依赖清除、更新
 yum repolist
 yum clean all
 yum update
2.5、安装cmake3
 yum install -y cmake3
 #将新版本cmake3软链接到cmake;
 ln -s /usr/bin/cmake3 /usr/bin/cmake

3、centos-release-scl 解决gcc c++

yum install -y centos-release-scl 不成功

3.1 配置源
 vim /etc/yum.repos.d/CentOS-SCLo-scl.repo
 vim /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo 

【centos-sclo-sclo内容】

[centos-sclo-sclo]
name=CentOS-7 - SCLo sclo
baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/sclo/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

【CentOS-SCLo-scl-rh.repo内容】

[centos-sclo-rh]
name=CentOS-7 - SCLo rh
baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
3.2 清除、更新
yum repolist
yum clean all
yum update
3.3 yum 安装gcc c++等
#安装GCC、openssl、zlib
yum -y install ncurses-devel make perl gcc autoconf automake zlib libxml2 libxml2-devel libgcrypt libtool bison devtoolset-11-gcc devtoolset-11-gcc-c++ devtoolset-10-binutils openssl openssl-devel
#启用新版Gcc;
scl enable devtoolset-11 bash

4、下载MySQL8.0的安装包

 wget https://downloads.mysql.com/archives/get/p/23/file/mysql-boost-8.0.30.tar.gz

5、创建目录 /data/install/ 和 /data/soft/

#存放我们下载的tar包
mkdir -p /data/install/
#存放我们的软件目录,所有的软件都放在此处,会比较好找
mkdir -p /data/soft/

6、解压tar,并进入这个目录下

#-C指定解压的目录
tar -zxvf mysql-boost-8.0.30.tar.gz -C /data/soft/ 
cd /data/soft/
ls
#这时候会有mysql的解压包
cd mysql-8.0.30/

7、在上述的路径下/data/soft/mysql-8.0.30/进行预编译

cmake  .  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DMYSQL_DATADIR=/data/mysql/ \
-DSYSCONFDIR=/etc \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306 \
-DWITH_XTRADB_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EXTRA_CHARSETS=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DWITH_BIG_TABLES=1 \
-DWITH_DEBUG=0 \
-DWITH_BOOST=./boost/ \
-DFORCE_INSOURCE_BUILD=1 

8、开启8个线程进行编译

make -j8

9、安装

make -j8 install

10、创建用户组和用户

groupadd mysql
useraddd -r -g mysql mysql

11、初始化数据库

/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql/

12、设置MYSQL为系统服务

ln -s /usr/local/mysql/bin/* /usr/bin/

\cp support-files/mysql.server /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld

/etc/init.d/mysqld start

image-20240706195209690

报错信息如下:

/etc/init.d/mysqld startStarting MySQL.2024-07-02T01:57:16.868563Z mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'.
 ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).

此时,需要看一下MySQL的文件 /etc/my.cnf ,需要把原先的MySQL配置文件备份 成为另外的一个文件,让MySQL走我们源码编译之后的配置文件 ,也就是 support-files/mysqld

  • 31
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值