CentOs安装MySQL

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: CentOs安装MySQL

今天突然想起来去年双十一买了一台服务器,不知不觉中已经闲置了三个多月了。之前的热情已经消退了,今天决定拿它练练手,安装几个平时用到的软件,今天阿Q就带大家一起搭建一下MySQL。

一、用Linux命令完全卸载MySQL

rpm包安装方式卸载

查包名:rpm -qa | grep mysql

删除命令:rpm -e 包名

yum安装方式卸载

1.查看已安装的mysql

命令:rpm -qa | grep mysql

2.卸载mysql

命令:yum remove mysql-community-server-5.6.36-2.el7.x86_64

卸载依赖

yum remove mysql-libs

yum remove mysql-server

yum remove perl-DBD-MySQL

yum remove mysql

二、用Linux命令安装MySQL

官网地址https://dev.mysql.com/downloads/repo/yum/

1.下载MySQL源安装包

wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

2.安装MySQL源

yum localinstall mysql57-community-release-el7-11.noarch.rpm

3.查看是否安装成功

yum repolist enabled | grep “mysql.-community.

4.这个指令可以修改安装版本(一般不用改,默认安装你的5.7)

vim /etc/yum.repos.d/mysql-community.repo

5.安装MySQL

yum install mysql-community-server

6.启动MySQL

systemctl start mysqld

systemctl status mysqld //查看状态

7.开机自启

systemctl enable mysqld

//加载新的unit 配置文件

systemctl daemon-reload

三、安装完成登录

1.查看初始密码

grep ‘temporary password’ /var/log/mysqld.log

记住给你的初始密码,进去以后首先修改密码

2.修改密码

mysql -uroot -p 登录,我遇到的是初始密码无法登陆,可能是编码问题。所以我选择重置密码。

3.重置密码

(1)重置密码的第一步就是跳过MySQL的密码认证过程,方法如下:vim /etc/my.cnf(注:windows下修改的是my.ini)

在文档内搜索mysqld定位到[mysqld]文本段:/mysqld(在vim编辑状态下直接输入该命令可搜索文本内容)

在[mysqld]后面任意一行添加

explicit_defaults_for_timestamp=true

skip-grant-tables

用来跳过密码验证的过程,保存文档并退出

该操作所需要的Linux命令及步骤

  • vim 文件名 进入文件
  • a 可以编辑
  • esc 退出编辑
  • shift+: 输入 wq!保存(其中q!不保存)

(2)接下来我们需要重启MySQL:

service mysqld restart

(3)重启之后输入mysql即可进入mysql

修改密码(密码要有字母数字和下划线):set password for ‘root’@‘localhost’=password(‘你的密码’);

或者ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘你的密码’;

或者update mysql.user set authentication_string=password(‘123456’) where user=‘root’(这边我选择的是这种)

quit退出mysql指令,重新登录

将之前添加的代码去除并重启

四、创建用户并授权

1. 创建用户命令

CREATE USER ‘username’@‘localhost’ IDENTIFIED BY ‘password’;

username:你将创建的用户名

host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%

password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器

例子:

CREATE USER ‘dog’@‘localhost’ IDENTIFIED BY ‘123456’;

CREATE USER ‘pig’@‘192.168.1.101_’ IDENDIFIED BY ‘123456’;

CREATE USER ‘pig’@’%’ IDENTIFIED BY ‘123456’;

CREATE USER ‘pig’@’%’ IDENTIFIED BY ‘’;

CREATE USER ‘pig’@’%’;

  • 当你创建的密码比较简单时会报错,这时需要修改密码策略

2.密码策略

(1)SHOW VARIABLES LIKE ‘validate_password%’ 查看密码策略

(2)首先需要设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 即可,输入设值语句 “ set global validate_password_policy=LOW; ” 进行设值,

(3)设置 validate_password_length 的全局参数为 6 ,输入设值语句 “ set global validate_password_length=6; ” 进行设值。

validate_password_length 固定密码的总长度;

validate_password_dictionary_file 指定密码验证的文件路径

validate_password_mixed_case_count 整个密码中至少要包含大/小写字母的总个数;

validate_password_number_count 整个密码中至少要包含阿拉伯数字的个数;

validate_password_policy  指定密码的强度验证等级,默认为 MEDIUM;关于 validate_password_policy  的取值:0/LOW:只验证长度;1/MEDIUM:验证长度、数字、大小写、特殊字符;2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;

validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;

3. 授权

GRANT privileges ON databasename.tablename TO ‘username’@‘host’

privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL

databasename:数据库名

tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*

例子:

GRANT SELECT, INSERT ON test.user TO ‘pig’@’%’;

GRANT ALL ON *.* TO ‘pig’@’%’;

GRANT ALL ON maindataplus.* TO ‘pig’@’%’;

注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:

GRANT privileges ON databasename.tablename TO ‘username’@‘host’ WITH GRANT OPTION;

4.设置与更改用户密码命令

SET PASSWORD FOR ‘username’@‘host’ = PASSWORD(‘newpassword’);

如果是当前登陆用户用:SET PASSWORD = PASSWORD(“newpassword”);

例子:

SET PASSWORD FOR ‘pig’@’%’ = PASSWORD(“123456”);

5. 撤销用户权限

REVOKE privilege ON databasename.tablename FROM ‘username’@‘host’;

privilege, databasename, tablename:同授权部分例子:

REVOKE SELECT ON *.* FROM ‘pig’@’%’;

注意:

假如你在给用户’pig’@’%‘授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO ‘pig’@’%’,则在使用REVOKE SELECT ON *.*FROM ‘pig’@’%’;命令并不能撤销该用户对test数据库中user表的SELECT 操作。相反,如果授权使用的是GRANT SELECT ON *.*TO  ‘pig’@’%’;则REVOKE SELECT ON test.user FROM  ‘pig’@’%’;命令也不能撤销该用户对test数据库中user表的Select权限。具体信息可以用命令SHOW GRANTS FOR  ‘pig’@’%’; 查看。

6.删除用户

命令:DROP USER ‘username’@‘host’;

五、Navicat等可视化工具连接

上述步骤结束之后,发现可视化工具并不能连接,所以需要我们开放服务器的端口号,步骤如下:

打开实例列表,点击“ 更多”按钮,选择“ 网络和安全组 ”中的“安全组配置”,选择 “安全组列表”tab页面,点击 “配置规则”按钮,点击 “快速添加”按钮,勾选“MySQL(3306)”,点击 “确定”之后就可以正常连接了。


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
5天前
|
关系型数据库 MySQL Linux
Docker安装Mysql5.7,解决无法访问DockerHub问题
当 Docker Hub 无法访问时,可以通过配置国内镜像加速来解决应用安装失败和镜像拉取超时的问题。本文介绍了如何在 CentOS 上一键配置国内镜像加速,并成功拉取 MySQL 5.7 镜像。
51 2
Docker安装Mysql5.7,解决无法访问DockerHub问题
|
5天前
|
Linux 网络安全 数据安全/隐私保护
Linux系统之Centos7安装cockpit图形管理界面
【10月更文挑战第12天】Linux系统之Centos7安装cockpit图形管理界面
24 1
Linux系统之Centos7安装cockpit图形管理界面
|
4天前
|
SQL Oracle 关系型数据库
安装最新 MySQL 8.0 数据库(教学用)
安装最新 MySQL 8.0 数据库(教学用)
33 4
|
6天前
|
Ubuntu 关系型数据库 MySQL
Linux系统MySQL安装
【10月更文挑战第19天】本文介绍了在 Linux 系统上安装 MySQL 的步骤,包括安装前准备、安装 MySQL、启动 MySQL 服务、配置 MySQL 以及验证安装。适用于 Ubuntu/Debian 和 CentOS/Fedora 系统,提供了详细的命令示例。
|
8天前
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
64 3
|
8天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置服务等,并与使用 RPM 包安装进行了对比,帮助读者根据需求选择合适的方法。编译源码安装虽然复杂,但提供了更高的定制性和灵活性。
60 2
|
9天前
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
43 6
|
7天前
|
存储 关系型数据库 MySQL
Mysql(4)—数据库索引
数据库索引是用于提高数据检索效率的数据结构,类似于书籍中的索引。它允许用户快速找到数据,而无需扫描整个表。MySQL中的索引可以显著提升查询速度,使数据库操作更加高效。索引的发展经历了从无索引、简单索引到B-树、哈希索引、位图索引、全文索引等多个阶段。
38 3
Mysql(4)—数据库索引
|
9天前
|
SQL Ubuntu 关系型数据库
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
本文为MySQL学习笔记,介绍了数据库的基本概念,包括行、列、主键等,并解释了C/S和B/S架构以及SQL语言的分类。接着,指导如何在Windows和Ubuntu系统上安装MySQL,并提供了启动、停止和重启服务的命令。文章还涵盖了Navicat的使用,包括安装、登录和新建表格等步骤。最后,介绍了MySQL中的数据类型和字段约束,如主键、外键、非空和唯一等。
27 3
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用