linux安装MySQL8.0,密码修改权限配置等常规操作详解

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: linux安装MySQL8.0,密码修改权限配置等常规操作详解

✨✨ 欢迎大家来到景天科技苑✨✨

🎈🎈 养成好习惯,先赞后看哦~🎈🎈

数据库

数据库就是存储和管理数据的仓库,数据按照一定的格式进行存储,用户可以对数据库中的数据进行增删改查等操作

数据库的分类

关系型数据库 Mysql, Oracle, postgreSQL, sqlserver, db2

非关系型数据库 Redis, Mongodb, Memcache

关系型数据库

采用了关系模型来组织数据的数据库,简单来说,关系型指的就是二维表格模型。

好比excel表格,强调使用表格的方式存储数

关系型数据库核心元素:

数据行

数据列

数据表

数据库(数据表的集合)

常用的关系型数据库:

oracle

mysql

postgresql

SQLite 手机端使用的数据库

非关系型数据库:

非关系型数据库又被称为 NoSQL(Not Only SQL),意味着不仅仅是SQL,对NoSQL最普遍的定义是

非关系型的,强调key-value的方式存储数据

常用的非关系型数据库:document store

MongoDB document store

Redis key-value的方式存储数据

数据库特点:

1.持久化存储

2.读写度度极高

3.保证数据有效性

MySQL在web应用方面是最好的RDBMS应用软件。是最流行的关系型数据库。瑞典MySQL AB公司开发,被oracle收购

MySQL的特点

1.是开源的。

2.支持大型数据库。可以处理拥有上千万条记录数据

3.使用标准的SQL语言

4.MySQL可以安装在不同的操作系统,并提供多种编程语言操作接口

MySQL数据库安装步骤

下载步骤

下载这个

解压后,安装这几个

rpm -ivh mysql-community-server-8.0.33-1.el7.x86_64.rpm  --nodeps --force

MySQL启动

systemctl enable mysqld --now
systemctl status mysqld.service

查看初始密码

cat /var/log/mysqld.log | grep password

8.0修改密码

碰到这种情况,重启下mysql

修改密码:

5.7版本之后:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Ji********';
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Ji******7!';

修改完后,刷新系统相关权限表:

flush privileges;

创建远程访问用户

如果需要远程访问,还需要开通远程访问权限,否则将会报错:

主机ip is not allowed to connect this MYSQL server

通过以下命令,创建远程连接用户,并进行远程访问的授权

create user 'root'@'%' identified with mysql_native_password by 'Jin*******@';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;

mysql赋权操作

授权语法

grant 权限 on 数据库.表 to “用户名”@“ip地址” identified by “密码”;

select 查询数据的权限

insert 添加数据的权限

update 更改数据的权限

delete 删除数据的权限

授予查询,添加数据权限

* 表示所有权限
 
grant select,insert on *.* to "ceshi102"@"%" identified by "333";

授权所有库,所有表的所有权限

grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;

GRANT:赋权命令

ALL PRIVILEGES:当前用户的所有权限

ON:介词

.:当前用户对所有数据库和表的相应操作权限

TO:介词

‘root’@’%’:权限赋给root用户,所有ip都能连接

IDENTIFIED BY ‘123456’:连接时输入密码,密码为123456

WITH GRANT OPTION:允许级联赋权

取消授权

移除删除权限(删除数据库/表)

revoke drop on *.* from "ceshi102"@"%"

移除所有权限

revoke all on *.* from "ceshi102"@"%"

刷新权限,立刻生效

flush privileges

删除所有权限

查看某个用户权限:

USAGE 没有任何权限

查看具体某个ip下的用户权限

show grants for "ceshi102"@"%";
show grants for 'root'@'%';

创建个只有查询功能的测试用户

测试用户不能修改表数据

root是最高权限的账户,控制所有账户的所有权限

MySQL数据库编码格式

utf8 是 Mysql 中的一种字符集,只支持最长三个字节的 UTF-8 字符,也就是 Unicode 中的基本多文本平面。

要在 Mysql 中保存 4 字节长度的 UTF-8 字符,需要使用 utf8mb4 字符集,但只有 5.5.3 版本以后的才支持。

我觉得,为了获取更好的兼容性,应该总是使用 utf8mb4 而非 utf8. 对于 CHAR 类型数据,utf8mb4 会多消耗一些空间,根据 Mysql 官方建议,使用 VARCHAR 替代 CHAR。

如果数据库默认字符集不是 utf8mb4,那么可以在创建数据库时指定字符集:

CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

查看编码格式

mysql> show variables like "%char%";

MySQL 配置文件中字符集相关变量

character_set_client:客户端请求数据的字符集

character_set_connection:从客户端接收到数据,然后传输的字符集

character_set_database:默认数据库的字符集,无论默认数据库如何改变,都是这个字符集;如果没有默认数据库,那就使用 character_set_server 指定的字符集,这个变量建议由系统自己管理,不要人为定义。

character_set_filesystem:把操作系统上的文件名转化成此字符集,即把 character_set_client 转换 character_set_filesystem, 默认 binary 是不做任何转换的

character_set_results:结果集的字符集

character_set_server:数据库服务器的默认字符集

character_set_system:存储系统元数据的字符集,总是 utf8,不需要设置

排序字符集

utf8mb4_unicode_ci 和 utf8mb4_general_ci

1、准确性

utf8mb4_unicode_ci 是基于标准的 Unicode 来排序和比较,能够在各种语言之间精确排序

utf8mb4_general_ci 没有实现 Unicode 排序规则,在遇到某些特殊语言或者字符集,排序结果可能不一致。

但是绝大多数情况下,这些特殊字符的顺序并不需要那么精确。

2、性能

utf8mb4_general_ci 在比较和排序的时候更快

utf8mb4_unicode_ci 在特殊情况下,Unicode 排序规则为了能够处理特殊字符的情况,实现了略微复杂的排序算法。

但是在绝大多数情况下,不会发生此类复杂比较。相比选择哪一种 collation,使用者更应该关心字符集与排序规则在 db 里需要统一。

默认修改后的配置

[root@mysql01 mysql ]#cat /etc/my.cnf
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4

[mysqld]

port = 3306




#连接数
max_connections = 2000
#跳过错误
#slave-skip-errors=all

#utf8mb4编码
character-set-client-handshake = FALSE
character-set-server = utf8mb4
init_connect='SET NAMES utf8mb4'



datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid


#
# include all files from the config directory
#
#!includedir /etc/my.cnf.d

改完后,要重启mysql

[root@mysql01 mysql ]#systemctl restart mysqld.service



相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
15天前
|
SQL 关系型数据库 MySQL
mysql主从复制概述和配置
【10月更文挑战第22天】MySQL 主从复制是一种将主服务器的数据复制到一个或多个从服务器的技术,实现读写分离,提高系统性能和可用性。主服务器记录变更日志,从服务器通过 I/O 和 SQL 线程读取并应用这些变更。适用于读写分离、数据备份和恢复、数据分析等场景。配置步骤包括修改配置文件、创建复制用户、配置从服务器连接主服务器并启动复制进程。
|
4天前
|
存储 SQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(1)作者——LJS[含MySQL的下载、安装、配置详解步骤及报错对应解决方法]
Mysql And Redis基础与进阶操作系列(1)之[MySQL的下载、安装、配置详解步骤及报错对应解决方法]
|
4天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
29 2
|
8天前
|
Java Linux 网络安全
NIFI在Linux服务区上的部署配置过程是什么?
【10月更文挑战第21天】NIFI在Linux服务区上的部署配置过程是什么?
26 2
|
9天前
|
SQL 关系型数据库 MySQL
Mysql中搭建主从复制原理和配置
主从复制在数据库管理中广泛应用,主要优点包括提高性能、实现高可用性、数据备份及灾难恢复。通过读写分离、从服务器接管、实时备份和地理分布等机制,有效增强系统的稳定性和数据安全性。主从复制涉及I/O线程和SQL线程,前者负责日志传输,后者负责日志应用,确保数据同步。配置过程中需开启二进制日志、设置唯一服务器ID,并创建复制用户,通过CHANGE MASTER TO命令配置从服务器连接主服务器,实现数据同步。实验部分展示了如何在两台CentOS 7服务器上配置MySQL 5.7主从复制,包括关闭防火墙、配置静态IP、设置域名解析、配置主从服务器、启动复制及验证同步效果。
Mysql中搭建主从复制原理和配置
|
Linux
Linux查看操作系统版命令
Linux查看操作系统版命令
|
4月前
|
Shell Linux C语言
Linux初学者必备:全面掌握核心命令
Linux命令是操作系统的核心组成部分,用于管理和操作文件系统、网络、硬件资源以及执行各种任务。下面列出了一些常用的Linux命令及其基本用途,
Linux初学者必备:全面掌握核心命令
|
5月前
|
运维 安全 Unix
Linux操作系统 , 常用命令
Linux操作系统 , 常用命令
|
5月前
|
Linux Shell 程序员
【Linux操作系统】命令的运行原理
【Linux操作系统】命令的运行原理
|
6月前
|
监控 算法 Linux
Linux 操作系统常用命令与操作指南
本文将为大家介绍Linux操作系统中的常用命令和操作。这些命令对于初学者和Linux用户都非常重要,掌握它们将大大提高在Linux环境下的工作效率。
122 0