在工作中CentOS7所有方式安装MySQL5.7(5.7最新版本)(上)

本文涉及的产品
RDSClaw,2核4GB
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介: 在工作中CentOS7所有方式安装MySQL5.7(5.7最新版本)

在企业中CentOS7所有方式安装MySQL5.7(详细学习)

一,源码安装

一,安装环境所需

1.环境

安装系统:CentOS7.3
安装MySQL版本:5.7.41

2.所需安装包

cmake-3.26.1:CMake是一个跨平台的编译(Build)工具,可以用简单的语句来描述所有平台的编译过程。
ncurses-6.4:ncurses(new curses)是一套编程库,它提供了一系列的函数以便使用者调用它们去生成基于文本的用户界面。
bison-3.8:Bison是一种通用解析器生成器
boost.1.59:Boost是为C++语言标准库提供扩展的一些C++程序库的总称
mysql-5.7.41:关系型数据库管理系统

3.检查已有环境

[root@localhost ~]# rpm -qa | grep mariadb    #centos7默认安装了mariadb数据库
mariadb-libs-5.5.52-1.el7.x86_64
[root@localhost ~]# rpm -e mariadb-libs --nodeps  #卸载mariadb以免与MySQL冲突

二,安装MySQL依赖包

1.安装编译器和依赖库

[root@localhost ~]# yum -y install gcc gcc-c++ libaio-devel openssl openssl-devel m4

2.安装cmake和必要包

[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# ll
总用量 156372
-rw-r--r-- 1 root root  5588772 3月  24 21:29 bison-3.8.tar.gz
-rw-r--r-- 1 root root 83709983 3月  24 21:29 boost_1_59_0.tar.gz
-rw-r--r-- 1 root root 10667838 3月  24 21:29 cmake-3.26.1.tar.gz
-rw-r--r-- 1 root root 56535698 3月  24 21:29 mysql-5.7.41.tar.gz
-rw-r--r-- 1 root root  3612591 3月  24 21:29 ncurses-6.4.tar.gz
1.安装cmake
[root@localhost src]# tar xf cmake-3.26.1.tar.gz
[root@localhost src]# cd cmake-3.26.1
[root@localhost cmake-3.26.1]# ./bootstrap && gmake && gmake install
[root@localhost cmake-3.26.1]# cmake -version   #验证安装成功
cmake version 3.26.1
2.安装ncurses
[root@localhost src]# tar xf ncurses-6.4.tar.gz
[root@localhost src]# cd ncurses-6.4
[root@localhost ncurses-6.4]# ./configure && make && make install
3.安装bison
[root@localhost src]# tar xf  bison-3.8.tar.gz
[root@localhost src]# cd bison-3.8
[root@localhost bison-3.8]# ./configure && make && make install
4.安装bootst
[root@localhost src]# tar xf boost_1_59_0.tar.gz
[root@localhost src]# mv /usr/local/src/boost_1_59_0 /usr/local/boost

三,安装MySQL源码包

1.安装MySQL

[root@localhost src]# tar xf mysql-5.7.41.tar.gz
[root@localhost src]# cd mysql-5.7.41
[root@localhost mysql-5.7.41]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc/ -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_SYSTEMD=1 -DWITH_BOOST=/usr/local/boost  && make -j $(grep processor /proc/cpuinfo | wc -l) && make install
#编译出现错误:rm -f  CMakeCache.txt

2.配置信息

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql [MySQL 安装的根目录] 
-DMYSQL_DATADIR=/usr/local/mysql /data [MySQL 数据库文件存放目录]
-DSYSCONFDIR=/etc [MySQL 配置文件所在目录]
-DWITH_MYISAM_STORAGE_ENGINE=1 [添加 MYISAM 引擎支持 ]
-DWITH_INNOBASE_STORAGE_ENGINE=1 [添加 InnoDB 引擎支持 ]
-DWITH_ARCHIVE_STORAGE_ENGINE=1 [添加 ARCHIVE 引擎支持 ]
-DMYSQL_UNIX_ADDR=/usr/local/mysql /mysql.sock [指定 mysql.sock 位置 ]
-DWITH_PARTITION_STORAGE_ENGINE=1 [安装支持数据库分区 ]
-DEXTRA_CHARSETS=all [使 MySQL 支持所有的扩展字符]
-DDEFAULT_CHARSET=utf8 [设置 MySQL 的默认字符集为utf8] 
-DDEFAULT_COLLATION=utf8_general_ci [设置默认字符集校对规则 ]
-DWITH-SYSTEMD=1 [可以使用 systemd 控制 mysql 服务]
-DWITH_BOOST=/usr/local/boost [指向 boost 库所在目录]
$(grep processor /proc/cpuinfo | wc -l) #获取CPU核心
-j:指定CPU核心数

四,配置MySQL

1.创建存放MySQL数据文件和用户

[root@localhost mysql-5.7.41]# mkdir -p /usr/local/mysql/data
[root@localhost mysql-5.7.41]# groupadd -r mysql && useradd -r -g mysql -s /bin/false -M mysql
[root@localhost mysql-5.7.41]# chown -R mysql:mysql /usr/local/mysql/

2.配置环境变量

[root@localhost mysql-5.7.41]# vi /etc/profile
#最后一行添加
export PATH=$PATH:/usr/local/mysql/bin
[root@localhost mysql-5.7.41]# source /etc/profile

3.MySQL初始化

[root@localhost mysql-5.7.41]# mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

4.创建MySQL配置文件

[root@localhost mysql-5.7.41]# vi /etc/my.cnf
#添加一下内容
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
pid-file=/var/run/mysqld/mysqld.pid
socket=/tmp/mysql.sock
log-error=/usr/local/mysql/data/mysql.err

5.将MySQL升级为系统服务

[root@localhost mysql-5.7.41]# cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
[root@localhost mysql-5.7.41]# mkdir /var/run/mysqld/
[root@localhost mysql-5.7.41]# chown mysql:mysql /var/run/mysqld/

6.开启mysql

[root@localhost mysql-5.7.41]# systemctl start mysqld
[root@localhost mysql-5.7.41]# systemctl enable mysqld
Created symlink from /etc/systemd/system/multi-user.target.wants/mysqld.service to /usr/lib/systemd/system/mysqld.service.

五,测试使用MySQL

1.查看默认密码

[root@localhost ~]# grep password /usr/local/mysql/data/mysql.err
2023-03-24T14:45:43.955719Z 1 [Note] A temporary password is generated for root@localhost: kwmstuhmz2+X

2.登录MySQL数据库

[root@localhost ~]# mysql -uroot -pkwmstuhmz2+X
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.7.41
Copyright (c) 2000, 2023, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>

3.密码修改

mysql> alter user root@localhost identified by '123.com';
Query OK, 0 rows affected (0.00 sec)

4.使用基本语句测试数据库

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)
mysql> create database test;
Query OK, 1 row affected (0.00 sec)
mysql> use test;
Database changed
mysql> create table t1 (id int,name varchar(10));
Query OK, 0 rows affected (0.00 sec)
mysql>
mysql>
mysql> desc t1;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | YES  |     | NULL    |       |
| name  | varchar(10) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.02 sec)
mysql> insert into t1 value (1,'zs'),(2,'ls'),(3,'ww');
Query OK, 3 rows affected (0.00 sec)
Records: 3  Duplicates: 0  Warnings: 0
mysql> select * from t1;
+------+------+
| id   | name |
+------+------+
|    1 | zs   |
|    2 | ls   |
|    3 | ww   |
+------+------+
3 rows in set (0.00 sec)
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
6月前
|
Ubuntu 关系型数据库 MySQL
MySQL源码编译安装
本文详细介绍了MySQL 8.0及8.4版本的源码编译安装全过程,涵盖用户创建、依赖安装、cmake配置、编译优化等步骤,并提供支持多Linux发行版的一键安装脚本,适用于定制化数据库部署需求。
1738 4
MySQL源码编译安装
|
6月前
|
Ubuntu 关系型数据库 MySQL
MySQL二进制包安装
本文详细介绍了在多种Linux系统上通过二进制包安装MySQL 8.0和8.4版本的完整过程,涵盖用户创建、glibc版本匹配、程序解压、环境变量配置、初始化数据库及服务启动等步骤,并提供支持多发行版的一键安装脚本,助力高效部署MySQL环境。
965 4
MySQL二进制包安装
|
6月前
|
安全 关系型数据库 MySQL
MySQL包安装 -- SUSE系列(离线RPM包安装MySQL)
本文详细介绍在openSUSE系统上通过离线RPM包安装MySQL 8.0和8.4版本的完整步骤,包括下载地址、RPM包解压、GPG密钥导入、使用rpm或zypper命令安装及服务启动验证,涵盖初始密码获取与安全修改方法,适用于无网络环境下的MySQL部署。
718 3
MySQL包安装 -- SUSE系列(离线RPM包安装MySQL)
|
6月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
759 6
|
7月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
501 158
|
7月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
7月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
1261 152
|
7月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
935 156
|
7月前
|
缓存 监控 关系型数据库
使用MYSQL Report分析数据库性能(中)
使用MYSQL Report分析数据库性能
527 156
|
7月前
|
缓存 监控 关系型数据库
使用MYSQL Report分析数据库性能(上)
最终建议:当前系统是完美的读密集型负载模型,优化重点应放在减少行读取量和提高数据定位效率。通过索引优化、分区策略和内存缓存,预期可降低30%的CPU负载,同时保持100%的缓冲池命中率。建议每百万次查询后刷新统计信息以持续优化
630 161