手把手教你安装MySQL

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 在日常开发学习中不可或少的需要用到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

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2天前
|
关系型数据库 MySQL 数据库
docker高级篇(大厂进阶):安装mysql主从复制
docker高级篇(大厂进阶):安装mysql主从复制
39 24
|
1月前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
50 4
|
2月前
|
关系型数据库 MySQL Linux
Docker安装Mysql5.7,解决无法访问DockerHub问题
当 Docker Hub 无法访问时,可以通过配置国内镜像加速来解决应用安装失败和镜像拉取超时的问题。本文介绍了如何在 CentOS 上一键配置国内镜像加速,并成功拉取 MySQL 5.7 镜像。
567 2
Docker安装Mysql5.7,解决无法访问DockerHub问题
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
100 3
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
84 2
|
1月前
|
存储 SQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(1)作者——LJS[含MySQL的下载、安装、配置详解步骤及报错对应解决方法]
Mysql And Redis基础与进阶操作系列(1)之[MySQL的下载、安装、配置详解步骤及报错对应解决方法]
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
135 2
|
1月前
|
运维 关系型数据库 MySQL
安装MySQL8数据库
本文介绍了MySQL的不同版本及其特点,并详细描述了如何通过Yum源安装MySQL 8.4社区版,包括配置Yum源、安装MySQL、启动服务、设置开机自启动、修改root用户密码以及设置远程登录等步骤。最后还提供了测试连接的方法。适用于初学者和运维人员。
169 0
|
2月前
|
SQL Oracle 关系型数据库
安装最新 MySQL 8.0 数据库(教学用)
安装最新 MySQL 8.0 数据库(教学用)
142 4
|
2月前
|
Ubuntu 关系型数据库 MySQL
Linux系统MySQL安装
【10月更文挑战第19天】本文介绍了在 Linux 系统上安装 MySQL 的步骤,包括安装前准备、安装 MySQL、启动 MySQL 服务、配置 MySQL 以及验证安装。适用于 Ubuntu/Debian 和 CentOS/Fedora 系统,提供了详细的命令示例。
276 1