centos编译安装mysql

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: centos编译安装mysql

centos编译安装mysql8.0

1:检查编译库

Mysql8.0要求gcc的版本在4.8以上,版本低于4.8,需要自行升级:

(1):

bash

复制代码

wget ftp://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.gz

(2):

复制代码

tar xf gcc-4.8.2.tar.gz

(3):

bash

复制代码

cd  gcc-4.8.2

(4):载编译需要的依赖包:

bash

复制代码

./contrib/download_prerequisites

(5):

css

复制代码

./configure --prefix=/usr/local/gcc-4.8.2/   --enable-bootstrap --enable-threads=posix --enable-languages=c,c++,objc,obj-c++

(6):

go

复制代码

make -j4

(7):

go

复制代码

make install

说明:make的时间会很长。

安装完后,还需要将原来的gcc环境用新版本的gcc替换掉,否则mysql在安装时还是用的原来的gcc,

依次执行:

bash

复制代码

mv /usr/bin/gcc /usr/bin/gcc447
mv /usr/bin/g++ /usr/bin/g++447
mv /usr/bin/c++ /usr/bin/c++447
mv /usr/bin/cc /usr/bin/cc447
ln -s /usr/local/gcc-4.8.2/bin/gcc /usr/bin/gcc
ln -s /usr/local/gcc-4.8.2/bin/g++ /usr/bin/g++
ln -s /usr/local/gcc-4.8.2/bin/c++ /usr/bin/c++
ln -s /usr/local/gcc-4.8.2/bin/gcc /usr/bin/cc
mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.bak
ln -s /usr/local/gcc-4.8.2/lib64/libstdc++.so.6.0.18 /usr/lib64/libstdc++.so.6

接着,安装boost库:

bash

复制代码

wget -c http://sourceforge.net/projects/boost/files/boost/1.60.0/boost_1_60_0.tar.bz2  --no-check-certificate
tar xf boost_1_60_0.tar.bz2?r=&ts=1479114685&use_mirror=ncu
cd boost_1_60_0
./bootstrap.sh
./b2 stage threading=multi link=shared
./b2 install threading=multi link=shared

2:下载mysql源码包

bash

复制代码

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.21-el7-x86_64.tar.gz

3:准备安装mysql

(1)、 卸载系统自带的mariadb*

perl

复制代码

rpm -qa|grep mariadb

查找出结果:mariadb-libs-5.5.60-1.el7_5.x86_64

csharp

复制代码

rpm -e --nodeps  mariadb-libs-5.5.60-1.el7_5.x86_64   #删除此或者使用yum命令删除
yum -y remove mariadb* boost-*

(2):创建mysql用户及用户组

bash

复制代码

cat /etc/group | grep mysql  # 查看是否有mysql用户组
cat /etc/passwd | grep mysql # 查看是否有mysql密码

arduino

复制代码

useradd -M -s /sbin/nologin mysql   //创建名为mysq的用户并且没有登录权限 (不指定 -g默认创建了同名mysql的用户组)

(3):删除系统原有的my.cnf(如果存在)

bash

复制代码

rm -f /etc/my.cnf
rpm -qa | grep mysql

4:安装mysql

我下载的版本是免编译版本,因此和二进制编译安装包略有不同。

bash

复制代码

# 解压到 /usr/local/mysql/   (即安装目录)
cd /mydata
mkdir -p /usr/local/mysql
tar -zxvf mysql-8.0.21-el7-x86_64.tar.gz     //解压
mv /mydata/ mysql-8.0.21-el7-x86_64.tar.gz/*  /usr/local/mysql/    //移动到安装目录

创建如下目录

perl

复制代码

mkdir /usr/local/mysql/database   (数据库目录)
mkdir /usr/local/mysql/log   (数据库日志相关目录)
mkdir /usr/local/mysql/log/binlog   (二进制日志目录)
mkdir /usr/local/mysql/log/tmp   (临时文件存放目录)
touch /usr/local/mysql/log/mysqld.log   (安装日志文档)
chmod -R 777 /usr/local/mysql/log/

改变mysql的属组

bash

复制代码

chown -R mysql:mysql /usr/local/mysql/

或者下面两句

bash

复制代码

chown -R mysql /usr/local/mysql/
chgrp -R mysql /usr/local/mysql/

执行安装

perl

复制代码

cd /usr/local/mysql 
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/database/  --log-error=/usr/local/mysql/log/mysqld.log

此版本采用mysql_install_db 进行安装,不再使用cmake 编译安装\

ini

复制代码

/usr/local/mysql/bin/mysql_install_db     # 安装命令 
--initialize                                             # 生成默认密码    
--user=mysql                                             # 指定mysql用户 
--basedir=/usr/local/mysql/                       # 安装目录 
--datadir=/usr/local/mysql/database/                # 数据库目录 
--log-error=/usr/local/mysql/log/mysqld.log     # 指定日志文件,安装过程中数据库生成的初始密码就会保存到此文件中,如果不指定,生成的初始密码就是现实到安装屏幕上(建议指定)出现:
                                            # 执行上面的命令后,什么都没有出现,是因为我们指定了 /usr/local/mysql/data/mysqld.log,安装过程都记得到此文件了,因此就不在前台显示了。

查看mysqld.log文件:

less

复制代码

cat /usr/local/mysql/log/mysqld.log
[root@iZuf60ynur81p6k0ysvtneZ mysql]# cat /usr/local/mysql/log/mysqld.log
2020-10-14T05:41:57.620731Z 0 [Warning] [MY-011070] [Server] 'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it' is deprecated and will be removed in a future release.
2020-10-14T05:41:57.620859Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.21) initializing of server in progress as process 1352
2020-10-14T05:41:57.829126Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2020-10-14T05:42:00.795030Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2020-10-14T05:42:03.388874Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: SbBtsQla%0oY

日志显示我们安装成功:初始密码为:SbBtsQla%0oY

5:创建mysql配置文件my.cnf

ini

复制代码

vim /etc/my.cnf
# ==============粘贴内容 start ===============
[client]
port=3306
default-character-set=utf8
[mysqld]
port=3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/database
user=mysql
default-storage-engine=INNODB
character-set-server=utf8
[mysqld_safe]
log-error=/usr/local/mysql/log/mysqld.log
# ============ 粘贴内容  end ============
//设置此文件可执行权限
# chmod 644 /etc/my.cnf

6:启动并添加到环境变量

(1):启动mysql

shell

复制代码

#创建驱动文件
# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

shell

复制代码

#修改变量
# vim /etc/init.d/mysqld

大约46行 ,给以下两个变量赋值

ini

复制代码

basedir=/usr/local/mysql
datadir=/usr/local/mysql/database

bash

复制代码

chmod +x /etc/init.d/mysqld
service mysqld start                //启动

(2):添加到环境变量

添加到环境变量

bash

复制代码

vim /etc/profile

 在此文件最后添加如下内容:

bash

复制代码

# MYSQL
export PATH="$PATH:/usr/local/mysql/bin"

 

// 立即生效

bash

复制代码

source  /etc/profile

// 输出环境变量

bash

复制代码

echo $PATH

 

7:更改默认密码

//修改密码

sql

复制代码

[root@qinser mydata]# mysql -u root -p
Enter password:     <------这里输入上面的初始密码(默认密码在安装的时候我们已经从mysqld.log中获取)
mysql> alter user 'root'@'localhost' identified by '123456';
mysql> flush privileges;        // 使用flush privileges在插入之后刷新系统权限相关表
Query OK, 0 rows affected (0.00 sec)

OK 新密码设置成功

 

8:设置开机启动

方法一:(推荐)

csharp

复制代码

chkconfig  --add mysqld   //加入系统中,可以是使用 systemctl status mysqld.service 命令了
chkconfig mysqld on     //开机自启动

 

方法二:

csharp

复制代码

[root@VMTest mysql]# chkconfig --level 35 mysqld on
[root@VMTest mysql]# chkconfig --list mysqld
[root@VMTest mysql]# chkconfig --add mysqld
[root@VMTest mysql]# chkconfig --list mysqld
[root@VMTest mysql]# service mysqld status

至此,centos编译安装mysql8完成。

有好的建议,请在下方输入你的评论。

欢迎访问个人博客 guanchao.site

欢迎访问我的小程序:打开微信->发现->小程序->搜索“时间里的”

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
4天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
|
6天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
20 4
|
5天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
12天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
43 3
|
13天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
27 2
|
1天前
|
运维 关系型数据库 MySQL
安装MySQL8数据库
本文介绍了MySQL的不同版本及其特点,并详细描述了如何通过Yum源安装MySQL 8.4社区版,包括配置Yum源、安装MySQL、启动服务、设置开机自启动、修改root用户密码以及设置远程登录等步骤。最后还提供了测试连接的方法。适用于初学者和运维人员。
16 0
|
1天前
|
存储 安全 Linux
VMware安装CentOS7
【11月更文挑战第11天】本文详细介绍了在 VMware 中安装 CentOS 7 的步骤,包括准备工作、创建虚拟机、配置虚拟机硬件和安装 CentOS 7。具体步骤涵盖下载 CentOS 7 镜像文件、安装 VMware 软件、创建和配置虚拟机硬件、启动虚拟机并进行安装设置,最终完成 CentOS 7 的安装。在安装过程中,需注意合理设置磁盘分区、软件选择和网络配置,以确保系统的性能和功能满足需求。
|
1月前
|
存储 安全 Linux
CentOS安装SeaweedFS
通过上述步骤,您应该能够在CentOS系统上成功安装并启动SeaweedFS。记住,根据实际部署规模和需求,可能还需要进一步调整配置参数和优化网络布局。SeaweedFS的灵活性和扩展性意味着随着使用深入,您可能需要探索更多高级配置和管理策略。
102 64
|
1月前
|
存储 安全 Linux
CentOS安装SeaweedFS
通过上述步骤,您应该能够在CentOS系统上成功安装并启动SeaweedFS。记住,根据实际部署规模和需求,可能还需要进一步调整配置参数和优化网络布局。SeaweedFS的灵活性和扩展性意味着随着使用深入,您可能需要探索更多高级配置和管理策略。
111 61
|
28天前
|
Linux 网络安全 数据安全/隐私保护
Linux系统之Centos7安装cockpit图形管理界面
【10月更文挑战第12天】Linux系统之Centos7安装cockpit图形管理界面
58 1
Linux系统之Centos7安装cockpit图形管理界面