手把手教你安装MySQL

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 在日常开发学习中不可或少的需要用到MySQL,本文手把手教你如何在Centos7下使用RPM管理包安装MySQL,闲话少叙,直接开始!


文中MySQL版本为5.7.32


安装服务端


  1. 下载mysql server端的 rpm 文件
    下载地址:https://downloads.mysql.com/archives/community/
    选择版本:mysql-community-server-5.7.32-1.el7.x86_64.rpm


  1. 上传至服务器 /app/soft


  1. 安装mysql所需要的组件
    yum install libaio (可选)


  1. 安装mysql Server
    rpm -ivh mysql-community-server-5.7.32-1.el7.x86_64.rpm --nodeps --force
    如果不加--nodeps --force 则提示需要安装客户端依赖等错误


warning: mysql-community-server-5.7.32-1.el7.x86_64.rpm: HeaderV3DSA/SHA1Signature, keyID5072e1f5: NOKEYerror: Faileddependencies:
mysql-community-client(x86-64) >=5.7.9isneededbymysql-community-server-5.7.32-1.el7.x86_64mysql-community-common(x86-64) =5.7.32-1.el7isneededbymysql-community-server-5.7.32-1.el7.x86_64


  1. 查看是否安装


[root@review-devsoft]#rpm-qa|grepmysqlmysql-community-server-5.7.32-1.el7.x86_64


  1. 启动mysql并查看状态


[root@review-devsoft]#systemctlstartmysqld.service--启动[root@review-devsoft]#systemctlstatusmysqld.service--查看状态mysqld.service-MySQLServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendorpreset: disabled)
Active: active (running) sinceMon2021-01-1811:32:17CST; 15sagoDocs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.htmlProcess: 7054ExecStart=/usr/sbin/mysqld--daemonize--pid-file=/var/run/mysqld/mysqld.pid$MYSQLD_OPTS (code=exited, status=0/SUCCESS)
Process: 6825ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
MainPID: 7057 (mysqld)
CGroup: /system.slice/mysqld.service└─7057/usr/sbin/mysqld--daemonize--pid-file=/var/run/mysqld/mysqld.pid


通过上面我们就安装好了MySQL的Server端,这时候是无法使用MySQL命令登录的,还需要安装一个Client端才行!


安装客户端


  1. 下载mysql client端的 rpm 文件
    下载地址:https://downloads.mysql.com/archives/community/
    选择版本:mysql-community-client-5.7.32-1.el7.x86_64.rpm


  1. 上传至服务器 /app/soft


  1. 安装客户端
    rpm -ivh mysql-community-client-5.7.32-1.el7.x86_64.rpm --nodeps --force
    同理,这里如果不加--nodeps --force 指令还是会出现如下所示的错误


[root@review-devsoft]#rpm-ivhmysql-community-client-5.7.32-1.el7.x86_64.rpmwarning: mysql-community-client-5.7.32-1.el7.x86_64.rpm: HeaderV3DSA/SHA1Signature, keyID5072e1f5: NOKEYerror: Faileddependencies:
mysql-community-libs(x86-64) >=5.7.9isneededbymysql-community-client-5.7.32-1.el7.x86_64


安装完Server和Client端后,还需要修改一些默认配置。


配置


  1. 获取原始密码


grep"password"/var/log/mysqld.log2021-01-18T03:32:13.444809Z1 [Note] Atemporarypasswordisgeneratedforroot@localhost: r8G>.aGR,GaA


  1. 使用原始密码登录mysql服务器
    mysql -uroot -p输入上面获取到的密码回车登录


  1. 修改密码
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password'
    其中 ‘new password’ 替换成你要设置的密码,注意:密码设置必须要大小写字母数字和特殊符号(,/';:等),不然不能配置成功。
    3.1 修改密码安全策略 如果出现如下错误则说明新密码不符合密码策略
    ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
    可通过命令 SHOW VARIABLES LIKE 'validate_password%';查看安全策略

1.png


可通过命令修改对应的安全策略,如将密码等级设置成LOW:set global validate_password_policy=LOW; 如将密码长度设置成8 set global validate_password_length=6;


mysql 密码策略相关参数:
1)validate_password_length  固定密码的总长度; 2)validate_password_dictionary_file 指定密码验证的文件路径; 3)validate_password_mixed_case_count  整个密码中至少要包含大/小写字母的总个数; 4)validate_password_number_count  整个密码中至少要包含阿拉伯数字的个数; 5)validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM; 6)validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;

关于 validate_password_policy 的取值:

LOW:只验证长度;

MEDIUM:验证长度、数字、大小写、特殊字符;

STRONG:验证长度、数字、大小写、特殊字符、字典文件;


  1.新增远程登录用户


createuser'xxxxxx'@'%'identifiedby'password';
GRANTALLPRIVILEGESON*.*TO'xxxxxx'@'%'identifiedbypassword';flush privileges;


  1. 修改mysql默认语言为utf8mb4
    默认情况下MySQL使用的语言是latinl,可在登录mysql服务的情况下使用status指令查看,需要将其修改成主流的utf8mb4


2.png


先退出mysql,然后再到/etc目录下的my.cnf文件下新增以下内容(见红框)
vi /etc/my.cnf


3.png


修改完成后重启mysql  
systemctl restart mysqld.service


重新登录mysql,再次查看状态:


4.png


通过上面几步,我们已经可以使用MySQL进行开发测试了,但是此时的MySQL并不能直接用于生产,我们还得修改MySQL服务器的配置参数,提升其性能与吞吐率。


具体参数可参照下面文章进行优化配置:


http://javadaily.cn/articles/2019/11/18/1574040329451.html

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
10天前
|
安全 关系型数据库 MySQL
CentOS7仅安装部署MySQL80客户端
通过上述步骤,你可以在CentOS 7上成功安装并配置MySQL 8.0客户端。这个过程确保你能够使用MySQL客户端工具连接和管理远程的MySQL数据库,而不需要在本地安装MySQL服务器。定期更新MySQL客户端可以确保你使用的是最新的功能和安全修复。
83 16
|
26天前
|
关系型数据库 MySQL 数据库
【MySQL基础篇】MySQL概述、Windows下载MySQL8.0超详细图文安装教程
在这一章节,主要介绍两个部分,数据库相关概念及MySQL数据库的介绍、下载、安装、启动及连接。接着,详细描述了MySQL 8.0的版本选择与下载,推荐使用社区版(免费)。安装过程包括自定义安装路径、配置环境变量、启动和停止服务、以及客户端连接测试。此外,还提供了在同一台电脑上安装多个MySQL版本的方法及卸载步骤。最后,解释了关系型数据库(RDBMS)的特点,即基于二维表存储数据,使用SQL语言进行操作,格式统一且便于维护。通过具体的结构图展示了MySQL的数据模型,说明了数据库服务器、数据库、表和记录之间的层次关系。
【MySQL基础篇】MySQL概述、Windows下载MySQL8.0超详细图文安装教程
|
20天前
|
NoSQL 关系型数据库 Redis
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
81 14
|
17天前
|
关系型数据库 MySQL 应用服务中间件
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
68 7
|
1月前
|
关系型数据库 MySQL 数据库
docker高级篇(大厂进阶):安装mysql主从复制
docker高级篇(大厂进阶):安装mysql主从复制
107 24
|
22天前
|
安全 关系型数据库 MySQL
Windows Server 安装 MySQL 8.0 详细指南
安装 MySQL 需要谨慎,特别注意安全配置和权限管理。根据实际业务需求调整配置,确保数据库的性能和安全。
113 9
|
26天前
|
NoSQL 关系型数据库 MySQL
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
172 7
|
2月前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
100 4
|
2月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
157 3
|
2月前
|
运维 关系型数据库 MySQL
安装MySQL8数据库
本文介绍了MySQL的不同版本及其特点,并详细描述了如何通过Yum源安装MySQL 8.4社区版,包括配置Yum源、安装MySQL、启动服务、设置开机自启动、修改root用户密码以及设置远程登录等步骤。最后还提供了测试连接的方法。适用于初学者和运维人员。
242 0