当前位置: 首页 > news >正文

glibc的安装及MySQL的安全用户角色权限(twenty-one day)

一、glibc安装

mysql

清空/etc/目录下的my.cnf

ls -l /etc/my.cnf

rm -rf /etc/my.cnf

yum -y remove mariadb

find / -name "*mysql*" -exec rm -rf {} \;

安装mysql软件包

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.33-li

nux-glibc2.12-x86_64.tar

解压

[root@Mysql-001 ~]# ls
mysql-8.0.33-linux-glibc2.12-x86_64.tar
[root@Mysql-001 ~]# tar -xvf mysql-8.0.33-linux-glibc2.12-x86_64.tar 
[root@Mysql-001 ~]# tar -xf mysql-8.0.33-linux-glibc2.12-x86_64.tar.xz 
[root@Mysql-001 ~]# ls mysql-8.0.33-linux-glibc2.12-x86_64
bin  docs  include  lib  LICENSE  man  README  share  support-files

将项目文件移动到/usr/local/mysql/

cp -r mysql-8.0.33-linux-glibc2.12-x86_64/ /usr/local/mysql/
yum list installed | grep libaio   #检查是否有libaio
libaio.x86_64                         0.3.109-13.el7                   @anaconda
[root@Mysql-001 ~]# useradd -r -s /sbin/nologin mysql
[root@Mysql-001 ~]# id mysql
uid=997(mysql) gid=995(mysql) 组=995(mysql)

在/usr/local/mysql/目录下创建mysql-files目录

mkdir /usr/local/mysql/mysql-files
修改mysql-files的权限为750 所属的组和属主都是mysql

chown mysql:mysql /usr/local/mysql/mysql-files/
chmod 750 /usr/local/mysql/mysql-files/
ll /usr/local/mysql/
总用量 292
drwxr-xr-x  2 root  root    4096 8月   5 09:48 bin
drwxr-xr-x  2 root  root      38 8月   5 09:48 docs
drwxr-xr-x  3 root  root     282 8月   5 09:48 include
drwxr-xr-x  6 root  root     201 8月   5 09:48 lib
-rw-r--r--  1 root  root  284945 8月   5 09:48 LICENSE
drwxr-xr-x  4 root  root      30 8月   5 09:48 man

drwxr-x---  2 mysql mysql      6 8月   5 09:55 mysql-files
-rw-r--r--  1 root  root     666 8月   5 09:48 README
drwxr-xr-x 28 root  root    4096 8月   5 09:48 share
drwxr-xr-x  2 root  root      77 8月   5 09:48 support-files

初始化数据库

/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/
2024-08-05T02:02:01.330394Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.33) initializing of server in progress as process 2825
2024-08-05T02:02:01.345707Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2024-08-05T02:02:02.337448Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2024-08-05T02:02:04.033580Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost:
ax8c5SwT(p/u(mysql密码)
判断是否生成了data目录

ls /usr/local/mysql     #有data目录就是初始化成功了

把mysql.server文件放到/etc/init.d/目录下(方便启动mysql服务 service mysql start)

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql8

service mysqld8 start

#修改密码

usr/local/mysql/bin/mysql -uroot -p

alter usr 'root@localhost' identified with mysql_native_password BY 'Zhang@2002';

二、远程连接登陆MySQL

1、远程登陆前提条件是mysql。user表中的host属性为%。如果是localhost就不允许远程登陆,

2、update mysql.user set host="%" where user="root",flush privilefes;

3、远程管理,可以使用图形化工具,sqlyog,navicat,掌握命令工具,客户端工具mysql

4、mysql -h 192.168.1.10 -P3306 -uxiaojiang -pZhang@2002

        -h        主机IP或者域名如果是localhost或者是127.0.0.1可省略

        -P        端口        默认是3306如果是默认的可以省略

        -u        用户名        

        -p        密码,可以不换行直接输入,也可以换行  不回显输入密码

(1)创建账户
create user 'xiaojiang'@'%' identified by 'Zhang@2002';

 eg:创建三个账号,abc[abcd] , ccc[a1b2c3] ,ddd[231343]

(2)给权限
grant all on *.* to 'xiaojiang'
(3)创建库
create database if not exists test;
(4)创建表
use test;
create table user(id int primary key,username varchar(45) not null,password varchar(45) not null
);
(5)添加数据
insert into test.user values(1,"zhangsan","123");
insert into test.user values(2,"lisi","456");
insert into test.user values(3,"wangwu","789");
insert into test.user values(4,"zhaoliu","aaa");

添加lilaosi账号,修改密码,查看mysql.user中的lilaosi的信息

create user 'lilaosi'@'%' identified by 'lilaoshi_123';
alter user 'lilaosi'@'%' identified by 'Lilaosi_123';
select host,user from mysql.user;

使用root账号,为lilaosi账号添加test库存中所有的表的所有权限

mysql -uroot -pZhang@2002

grant all on test.* to 'lilaosi';
#lilaosi就获得了test库中所有表的操作权限;但是由于root没有个lilaosimysql库的
权限,所以lilaosi账号无法查看mysql库

三、mysql环境部署脚本

vim mysql.sh

#!/bin/bash

cp $1 /usr/local/mysql/

mkdir /usr/local/mysql/mysql-files/

grep /mysql/ /etc/password

if [ $i ne 0 ]; then

        useradd -r -s /sbin/nologin mysql

fi

chown mysql:mysql /usr/local/mysql/mysql-files

chmod 750 /usr/local/mysql/mysql-files

#初始化

/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/

#password

#service

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql8

#start server

service mysql8 start

四、安全用户角色权限

(一)密码安全策略

1、查看密码策略
mysql> show variables like 'validate%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| validate_password.dictionary_file    |        |
| validate_password.length             | 8      |
| validate_password.mixed_case_count   | 1      |
| validate_password.number_count       | 1      |
| validate_password.policy             | MEDIUM |
| validate_password.special_char_count | 1      |
+--------------------------------------+--------+
2、 修改策略
mysql>setglobal validate_password.length=0;
mysql>setglobal validate_password.policy=LOW;
mysql>showvariableslike'validate%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| validate_password.dictionary_file    |        |
| validate_password.length             | 4      |
| validate_password.mixed_case_count   | 0      |
| validate_password.number_count       | 0      |
| validate_password.policy             | LOW    |
| validate_password.special_char_count | 0      |
+--------------------------------------+--------+

(二)用户

1、创建用户
mysql>create user'efgh'@'%' identified by 'efgh';
Query OK,0 rows affected (0.01 sec)
mysql>select host,user from mysql.user;
+-----------+------------------+
| host      |user              |
+-----------+------------------+
|%          | efgh             |
|%          | root             |
|%          | zhangmin         |
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
| localhost | test1            |
+-----------+------------------+
2、删除用户
mysql>drop user'xiaojiang';
Query OK,0 rows affected (0.02 sec)
3、修改用户
mysql>alter user'zhangmin' identified by 'abc123';
Query OK,0 rows affected (0.01 sec)

(三)角色

1、创建角色
mysql>create role 'jingli';
Query OK,0 rows affected (0.00 sec)
2、查看角色
mysql> select host,user from mysql.user;
3、修改角色
ALTER ROLE 'role_name' [...属性...];
4、删除角色
DROP ROLE 'role_name';

(四)权限

1、刷新权限
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
2、为root账号添加权限
mysql> grant system_user on *.* to "root";
3、新增权限
mysql> grant insert,delete,update,select on test.user to 'jingli';
4、修改权限
mysql> show grants for "efgh";
+----------------------------------+
| Grants for efgh@%                |
+----------------------------------+
| GRANT USAGE ON *.* TO `efgh`@`%` |
+----------------------------------+
1 row in set (0.00 sec)
5、查看权限
mysql> show grants for 'bbb';
6、删除权限
mysql>revoke all on*.* from "efgh";
Query OK,0 rows affected (0.00 sec)

练习1

1.添加aaa账户,设置密码aaaa
drop user aaa;
create user 'aaa'@'%' identified by 'aaaa';
2.使用aaa账户访问mysql服务
mysql -h127.0.0.1 -P3306 -uaaa -paaaa
3.查看test数据库发现么有权限
show databases;
4.退出并使用root账户登录
quit|exit
mysql -h127.0.0.1 -P3306 -uroot -proot0000
5.为aaa账户添加查看test.user表的权限
grant select on test.user to 'aaa';
6.退出root,使用aaa账户登录
quit|exit
mysql -h127.0.0.1 -P3306 -uaaa -paaaa
7.查看数据库,查看表,查看表内容 能够正常查看
show databases;
user test;
show tables;
select * from user;
8.输入数据,没有权限
insert into user values(5,"ermazi","ermazi");####
9.退出aaa使用root登录
quit|exit
mysql -h127.0.0.1 -P3306 -uroot -proot0000
10.为aaa添加insert权限
grant insert on test.user to 'aaa';
11.退出root使用aaa登录
exit|quit
mysql -h127.0.0.1 -P3306 -uaaa -paaaa
12.向user表添加一行新的数据
insert into test.user values(6,"zhangsanfeng","zhangsanfen");
13.修改user中一行的数据的password(密码)为111,没有update权限
update test.user set password='zsf' where username-'zhangsanfeng';

练习2

mysql> create role 'jingli';
Query OK, 0 rows affected (0.02 sec)mysql> create role 'yuangong';
Query OK, 0 rows affected (0.02 sec)
#添加jingli,yuangong角色mysql> grant insert,delete,update,select on test.user to 'jingli';
Query OK, 0 rows affected (0.00 sec)
#给jingli角色设置权限mysql> show grants for 'jingli';
#查看jingli权限
+-----------------------------------------------------------------------+
| Grants for jingli@%                                                   |
+-----------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `jingli`@`%`                                    |
| GRANT SELECT, INSERT, UPDATE, DELETE ON `test`.`user` TO `jingli`@`%` |
+-----------------------------------------------------------------------+
2 rows in set (0.00 sec)mysql> grant select,insert on test.user to 'yuangong';
Query OK, 0 rows affected (0.01 sec)mysql> show grants for 'yuangong';
+---------------------------------------------------------+
| Grants for yuangong@%                                   |
+---------------------------------------------------------+
| GRANT USAGE ON *.* TO `yuangong`@`%`                    |
| GRANT SELECT, INSERT ON `test`.`user` TO `yuangong`@`%` |
+---------------------------------------------------------+
2 rows in set (0.00 sec)mysql> select host,user from mysql.user;
+-----------+------------------+
| host      | user             |
+-----------+------------------+
| %         | aaa              |
| %         | efgh             |
| %         | jingli           |
| %         | xiaojiang        |
| %         | yuangong         |
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
| localhost | root             |
+-----------+------------------+
9 rows in set (0.00 sec)
#新增bbb和ccc两个用户,bbb是经理需要增删改查权限,ccc是员工,只需要新增和查看的权限
mysql> create user 'bbb'@'%' identified by 'Zhang@2002';
Query OK, 0 rows affected (0.01 sec)mysql> create user 'ccc'@'%' identified by 'Zhang@2002';
Query OK, 0 rows affected (0.01 sec)mysql> grant jingli to 'bbb';
Query OK, 0 rows affected (0.01 sec)mysql> grant yuangong to 'ccc';
Query OK, 0 rows affected (0.01 sec)mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)mysql> show grants for 'bbb';
+---------------------------------+
| Grants for bbb@%                |
+---------------------------------+
| GRANT USAGE ON *.* TO `bbb`@`%` |
| GRANT `jingli`@`%` TO `bbb`@`%` |
+---------------------------------+
2 rows in set (0.00 sec)mysql> show grants for 'ccc';
+-----------------------------------+
| Grants for ccc@%                  |
+-----------------------------------+
| GRANT USAGE ON *.* TO `ccc`@`%`   |
| GRANT `yuangong`@`%` TO `ccc`@`%` |
+-----------------------------------+
2 rows in set (0.00 sec)

相关文章:

glibc的安装及MySQL的安全用户角色权限(twenty-one day)

一、glibc安装 mysql 清空/etc/目录下的my.cnf ls -l /etc/my.cnf rm -rf /etc/my.cnf yum -y remove mariadb find / -name "*mysql*" -exec rm -rf {} \; 安装mysql软件包 wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.33-li nux-glibc2.1…...

AttributeError: ‘ChatGLMTokenizer‘ object has no attribute ‘sp_tokenizer‘. 已解决

📑打牌 : da pai ge的个人主页 🌤️个人专栏 : da pai ge的博客专栏 ☁️宝剑锋从磨砺出,梅花香自苦寒来 ☁️运维工程师的职责:监…...

徐州BGP机房与普通机房的区别有哪些?

BGP也被称为是边界网关协议,是运行在TCP上的一种自治系统的路由协议,能够用来处理因特网大小的网络协议,同时也是能够处理好不相关路由域之间的多路连接的协议,今天小编主要来聊一聊徐州BGP机房与普通机房之间的区别有哪些&#x…...

VBA 程序运行中禁用鼠标键盘

1. Application.Interactive False:Excel 将阻止键盘和鼠标的所有输入,但代码显示的对话框的输入不受影响。 True:打开交互模式。 下面的代码程序一旦运行就会限定在Excel的事先选定的单元格输出。 如果注释掉Application.Interactive F…...

CUDA编程从零到壹

如今,当我们谈论深度学习时,为了提高性能,我们通常会将其实现与使用 GPU 联系起来。 GPU(图形处理单元)最初设计用于加速图像、2D 和 3D 图形的渲染。然而,由于它们能够执行许多并行操作,它们的…...

【国产开源可视化引擎】Meta2d.js API-Utils

Utils 常用功能函数 函数 formatPadding 将 padding 转换成数组格式 [top, right, bottom, left] padding 规则与 css padding 相同 参数: padding: Padding type Padding number | string | number[]; 返回: number[] 示例: formatP…...

大模型与数据分析的融合:创新与发展的新机遇

大模型与数据分析的融合:创新与发展的新机遇 前言大模型与数据分析的融合 前言 大模型与数据分析的融合正成为推动企业发展的关键力量。大模型在数据分析领域展现出了强大的能力。它能够以接近人类的水平理解和处理自然语言,快速、准确地解析大量非结构…...

基于融合正余弦和柯西变异的麻雀搜索算法SCSSA优化CNN-BiLSTM的多变量时间序列预测

matlab R2024a以上 一、数据集 二、融合正余弦和柯西变异的麻雀搜索算法 麻雀搜索算法(Sparrow Search Algorithm, SSA)是一种新型的群体智能优化算法,其灵感来源于麻雀觅食行为。为了提高算法的性能,可以融合正余弦函数和柯西变…...

c++基本数据类型变量的最大值,最小值和内存空间

基本数据类型有哪些? 在C中,基本数据类型主要包括以下几种: 整型 (Integral Types): int:通常为32位,有 signed 和 unsigned 两种版本,如 int, unsigned int.short 或 signed short / unsigned …...

005集——运算符和循环——C#学习笔记

C# 提供了许多运算符。 其中许多都受到内置类型的支持,可用于对这些类型的值执行基本操作。 这些运算符包括以下组: 算术运算符,将对数值操作数执行算术运算比较运算符,将比较数值操作数布尔逻辑运算符,将对 bool 操作…...

【Tessent IJATG Users Manual】【Ch5】IJTAG Network Insertion

The IJTAG Network Insertion FlowIJTAG Network Insertion ExampleModification of the IJTAG Network Insertion Flow How to Edit or Modify a DftSpecificationEdit or Modify MethodDftSpecification Examples IJTAG Network Insertion 可以将已有的 instrument 连接起来&…...

我在高职教STM32——I2C通信入门(2)

大家好,我是老耿,高职青椒一枚,一直从事单片机、嵌入式、物联网等课程的教学。对于高职的学生层次,同行应该都懂的,老师在课堂上教学几乎是没什么成就感的。正是如此,才有了借助CSDN平台寻求认同感和成就感的想法。在这里,我准备陆续把自己花了很多心思设计的教学课件分…...

GPT解逻辑数学题之8个8变1000的故事

目录 初试正解 我: GPT4: 再问思索 我: GPT4: 提醒错误 我: GPT4: 给出正解提示 我: GPT4: 不愿放弃 我: GPT4: 再次尝试 我: …...

10、MySQL-索引

目录 1、索引概述 2、索引结构 2.1 BTree 2.2 BTree 2.3 Hash 3、索引分类 4、索引语法 4.1 创建索引 4.2 查看索引 4.3 删除索引 5、SQL性能分析 5.1 SQL执行频率 5.2 慢查询日志 5.3 profile详情 5.4 explain执行计划 6、索引使用 6.1 验证索引效率 6.2 最左…...

【python】Python操作Redis数据库的详细教程与应用实战

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…...

【数据结构的——红黑树】

目录 一、红黑树简介二、红黑树的特性三、2-3-4树与红黑树的等价关系四、红黑树的操作4.1、旋转操作4.2、红黑树的插入4.2.1、情形一4.2.2、情形二4.2.3、情形三4.2.4、情形四4.2.5、情形五4.2.6、情形六4.2.7、对插入进行小结4.3、红黑树的删除4.3.1、情形一4.3.2、情形二4.3.…...

第十二章:设置pod和容器权限-保障集群内节点和⽹络安全

本章内容包括: 在pod中使用宿主机节点的默认Linux命名空间以不同用户身份运行容器运行特权容器添加或禁用容器内核功能定义限制pod行为的安全策略保障pod的网络安全 谈到了如何保障API服务器的安全。如果攻击者获得了访问API服务器的权限,他们可以通过在…...

灵途科技再度入选2024年度“光谷瞪羚”企业名单!

今年5月,东湖高新区启动了2024年度“光谷瞪羚”企业认定工作,共有549家企业拟被认定为“光谷瞪羚”企业。作为泛自动驾驶领域光电感知专家,灵途科技凭借其快速成长、强大创新能力和巨大发展潜力,再次获得“光谷瞪羚”企业的荣誉。…...

Centos7.6配置阿里云镜像源

1、备份本地镜像源,将/etc/yum.repos.d/下所有文件备份到/etc/yum.repos.d/bak/下 2、下载阿里云镜像 wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo 3、清除yum缓存-yum clean all 4、验证镜像源仓库 yum repolist...

梨子的功效与作用 梨子生吃熟吃功效竟大不同

梨,这一寻常的水果,因其独特的口感和丰富的营养价值,深受人们的喜爱。梨子不仅味道甜美,而且具有多种功效与作用,无论是生吃还是熟吃,都能给人体带来诸多益处。然而,你是否知道,生吃…...

Cursor实现用excel数据填充word模版的方法

cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...

均衡后的SNRSINR

本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt​ 根发送天线, n r n_r nr​ 根接收天线的 MIMO 系…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...

【分享】推荐一些办公小工具

1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由:大部分的转换软件需要收费,要么功能不齐全,而开会员又用不了几次浪费钱,借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...

免费数学几何作图web平台

光锐软件免费数学工具,maths,数学制图,数学作图,几何作图,几何,AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...