安装glibc+mysql的权限问题

news2024/11/15 2:08:25

安装glibc

glibc mysql 俗称绿色mysql

安装之前删掉mariadb:

数据库初始化时候,会⾃动找my.cnf配置,但是原有的mariadb配
置⽂件,会失败

[root@mysql3 ~]# ls -l /etc/my.cnf
-rw-r--r--. 1 root root 570 6月   8 2017 /etc/my.cnf
[root@mysql3 ~]# rm -rf /etc/my.cnf
[root@mysql3 ~]# yum -y remove mariadb
步骤:

1.解压

[root@mysql3 ~]# tar -xvf mysql-8.0.33-linux-glibc2.12-x86_64.tar

[root@mysql3 ~]# ls
mysql-8.0.33-linux-glibc2.12-x86_64.tar
mysql-8.0.33-linux-glibc2.12-x86_64.tar.xz
mysql-router-8.0.33-linux-glibc2.12-x86_64.tar.xz
mysql-test-8.0.33-linux-glibc2.12-x86_64.tar.xz

[root@mysql3 ~]# tar -xf mysql-8.0.33-linux-glibc2.12-x86_64.tar.xz

[root@mysql3 ~]# cd mysql-8.0.33-linux-glibc2.12-x86_64/
[root@mysql3 mysql-8.0.33-linux-glibc2.12-x86_64]# ls
bin  docs  include  lib  LICENSE  man  README  share  support-files

2.改名:

[root@mysql3 ~]# cp -r mysql-8.0.33-linux-glibc2.12-x86_64 /usr/local/mysql/
 

3.查看依赖库,没有的话安装

[root@mysql3 ~]# yum list installed | grep libaio
libaio.x86_64                         0.3.109-13.el7                   @anaconda
[root@mysql3 ~]# echo $?
0

4.创建用户

[root@mysql3 ~]# id mysql
id: mysql: no such user
[root@mysql3 ~]# useradd -r -s /sbin/nologin mysql
[root@mysql3 ~]# id mysql
uid=997(mysql) gid=995(mysql) 组=995(mysql)

5.创建一个mysql-files,修改mysql-files文件权限750和所属mysql

[root@mysql3 ~]# mkdir /usr/local/mysql/mysql-files
[root@mysql3 ~]# chown mysql:mysql /usr/local/mysql/mysql-files/
[root@mysql3 ~]# chmod 750 /usr/local/mysql/mysql-files/


6.初始化数据库,找到初始密码

[root@mysql3 ~]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql

7.查看是否初始化成功,可以看文件夹中是否有data文件夹

[root@mysql3 ~]# ls /usr/local/mysql/
bin   docs     lib      man          README  support-files
data  include  LICENSE  mysql-files  share

 

8.设置ssl安全加密连接 敏感数据

[root@mysql3 ~]# /usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
 

9.其他配置

[root@mysql3 ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql8

默认情况下,启动文件默认安装目录在/usr/local/目录下

10.启动服务,不能使用systemctl

[root@mysql3 ~]# service mysql8 start

编写脚本:自动化安装mysql

[root@mysql1 ~]# vim mysql.sh

1.远程登录的前提条件:mysql.user表中的host属性为%,如果是localhost就是不允许远程登录,update mysql.user set host="%" where user="root",flush privileges;

2.远程管理,可以使用图形化工具,sqlyog,navicat,命令工具就是客户端工具 mysql

3.mysql  -h主机IP或域名  -P端口  -u用户名  -p密码

-h :如果是localhost或者是127.0.0.1可省略

-P :默认是3306,如果是默认的,可以省略

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

mysql的权限

用户

创建用户:

mysql> create user 'wangjia'@'%' identified by 'wangjia';
Query OK, 0 rows affected (0.02 sec)

mysql> select host,user from mysql.user;
+-----------+------------------+
| host      | user             |
+-----------+------------------+
| %         | wangjia          |
| localhost | mysql.infoschema |
| localhost | mysql.session    |
| localhost | mysql.sys        |
| localhost | root             |
+-----------+------------------+
5 rows in set (0.00 sec)

 

给权限:

mysql> grant all on *.* to 'wangjia';
Query OK, 0 rows affected (0.00 sec)

all代表所有的权限,第一个*表示所有的库,第二个*表示所有的表

创建库:

create database if not exists test;

添加lilaosi账号,修改密码:

create user 'lilaosi'@'%'  identified by 'lilaosi_123';

alter  user 'lilaosi'  identified  by  'lilaosi';

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

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

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| performance_schema |
| test               |
+--------------------+
3 rows in set (0.01 sec)

 

删除用户:

drop   user  'wangjia';

将test库中user表的查看权限给abc:(在root账号下)

mysql> grant select on test.user to 'abc';
Query OK, 0 rows affected (0.01 sec)

在abc账号下:

mysql> insert into user values(7,'erha','erha');
ERROR 1142 (42000): INSERT command denied to user 'abc'@'localhost' for table 'user'

 

为abc添加insert权限:(在root权限下)

mysql> grant insert on test.user to 'abc';
Query OK, 0 rows affected (0.00 sec)

在abc账号下:

mysql> insert into test.user values(5,'wangmizi','wangmizi');
Query OK, 1 row affected (0.01 sec)

查看abc的权限:

mysql> show grants for 'abc';
+----------------------------------------------------+
| Grants for abc@%                                   |
+----------------------------------------------------+
| GRANT USAGE ON *.* TO `abc`@`%`                    |
| GRANT SELECT, INSERT ON `test`.`user` TO `abc`@`%` |
+----------------------------------------------------+
2 rows in set (0.00 sec)

角色

一次一次添加权限不方便,因此引出了角色:

添加角色:jingli , yuangongjuese

mysql> create role 'jingli';
Query OK, 0 rows affected (0.00 sec)

mysql> create role 'yuangongjuese';
Query OK, 0 rows affected (0.01 sec)

给角色给权限:jingli (插入,更新,删除,选择),yuangongjuese(插入,选择)

mysql> grant insert,update,delete,select on test.user to 'jingli';
Query OK, 0 rows affected (0.00 sec)

mysql> grant insert,select on test.user to 'yuangongjuese';
Query OK, 0 rows affected (0.00 sec)

查看角色保存的表格:

mysql> select host,user from mysql.user;

查看角色的权限:

mysql> show grants for 'jingli';
mysql> show grants for 'yuangongjuese';

创建用户bbb有插入,更新,删除,选择权限(增删改查),ccc有插入和选择权限:

创建用户,分别加入对应的角色里面即可:

mysql> create user 'bbb'@'%' identified by 'bbb';
Query OK, 0 rows affected (0.00 sec)

mysql> create user 'ccc'@'%' identified by 'ccc';
Query OK, 0 rows affected (0.00 sec)

mysql> grant jingli to 'bbb';
Query OK, 0 rows affected (0.00 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> grant yuangongjuese to 'ccc';
Query OK, 0 rows affected (0.00 sec)

mysql> show grants for ccc;
+----------------------------------------+
| Grants for ccc@%                       |
+----------------------------------------+
| GRANT USAGE ON *.* TO `ccc`@`%`        |
| GRANT `yuangongjuese`@`%` TO `ccc`@`%` |
+----------------------------------------+
2 rows in set (0.00 sec)

刷新权限:

mysql> flush privileges;
 


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1982795.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue路由入门学习

文章目录 路由的基本使用1.目标2.作用3.说明4.官网5.VueRouter的使用(52)两个核心步骤 组件的存放目录问题1.组件分类存放目录 路由的封装抽离 Vue中的路由: 路径和组件的 映射关系 路由的基本使用 1.目标 认识插件 VueRouter&#xff0c…

Midjourney仅10分钟搞定⼀套漫画,含MJ提⽰词分享

Midjourney能帮我们画漫画了,你敢信?⼀起来和⽹易设计师学习如何只⽤10分钟,即使你是设计⿇⽠,也能轻轻松松完成⼀张属于你⾃⼰的短⽚⼩漫画!今天就⽤MJ来实战⼀套漫画,包含创作⽤的⼯ 具和提⽰词的应⽤,以前来学习吧! 漫画先看成品图: ▍ Part1你要画个啥? 画漫画当…

复现一下最近学习的漏洞(sqlab 1-10)

第一个问题:为什么不能用#来闭合单引号呢? 在进行URL地址栏传参的时候,是有一套编码规范的。他不会编码英文、数字和某些符号。但是#它会进行编码。也就是%23。(先转ascii码,然后再转十六进制,之后加上%就是…

小白暴力学习001---Vue---第一个Vue

做本文主要是采用Vue3的教程,来源于菜鸟教程, https://www.runoob.com/vue3/vue3-tutorial.html 主要记录从小白开始如何使用Vue建立一个笔记本的网站,并用于记录 基础条件: 有明确的目标有兴趣能使用电脑,会百度 视…

前端的学习-CSS(二)-弹性盒子-flex

一:子元素的属性 order:项目的排列顺序,数值越小,排列越靠前,默认为0。 flex-grow:定义项目的放大比例,默认为 0 ,即如果存在剩余空间,也不放大。 flex-shrink&#xff1…

【链表OJ】常见面试题 2

文章目录 1.[链表分割](https://www.nowcoder.com/practice/0e27e0b064de4eacac178676ef9c9d70?tpId8&&tqId11004&rp2&ru/activity/oj&qru/ta/cracking-the-coding-interview/question-ranking)1.1 题目要求1.2 哨兵位法 2.[链表的回文结构](https://www.…

Spring Boot集成liquibase快速入门Demo

1.什么是liquibase? Liquibase是一个用于跟踪、管理和应用数据库变化的开源的数据库重构工具。它将所有数据库的变化(包括结构和数据)都保存在 changelog 文件中,便于版本控制,它的目标是提供一种数据库类型无关的解决…

小厂也是厂,3000我也干

2018年6月,大三暑假 那一天,我投递了家里附近的一家公司有响应了,他线上问我什么时候可以去面试,我说什么时候都行。 HR:“要不你下午来吧?” 我:“行,我家里离面试地点不远” 我…

zdpy+vue3+onlyoffice文档系统实战上课笔记 20240805

上次 上次计划 1、最近文档表格完善 2、实现登录功能 3、新建文件,复制文件,删除文件 4、其他 目前任务:最近文档表格完善 1、在名称前面,渲染这个文档的图标 2、大小的基本的单位是kb,超过1024kb则换成mb&#xff0…

编写一个期货跨期套利的程序,谈谈思路及案例

🏆本文收录于《CSDN问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收…

8.5 C++

思维导图 试编程 提示并输入一个字符串&#xff0c;统计该字符中大写、小写字母个数、数字个数、空格个数以及其他字符个数 要求使用C风格字符串完成 #include <iostream> #include <array>using namespace std;int main() {cout << "请输入一个字符…

Python 字典 ({})的概念与操作

1、使用字典 在Python中&#xff0c;字典(dictionary)是一系列键值对(k-v pair)。每个键都有相应的值对应&#xff0c;使用键来访问与之关联的值&#xff0c;与键关联的值可以为数、字符串、列表乃至字典。 在Python中&#xff0c;字典放在花括号&#xff08;{}&#xff09;中…

C++中const关键字的用法

C语言和C中const的不同 首先我们需要区分一下C语言中的const和C中的const&#xff0c;C语言中的const修饰的变量可以不初始化&#xff0c;但如果将一个变量定位为const类型还不初始化&#xff0c;那么之后就不能对这个变量直接赋值了。 如果我们使用C语言中的const定义的变量指…

error: resource android:attr/lStar not found

项目打正式包的提示resource android:attr/lStar not found&#xff0c;后来分析发现android:attr/lStar属性在androidx.core:core的包里面&#xff0c;然后便试着降低androidx.core:core的版本号&#xff0c;降低后发现还是报错&#xff0c;查看错误信息发现androidx.core:cor…

安装nodejs服务器

Java项目可以运行在tomcat服务器&#xff0c;开始完成前后端完全分离。前端有自己独立的工程。我们需要把前端独立的工程运行起来。 运行在nodejs服务器下。 验证是否安装成功&#xff1a;敲cmd--输入node --version 1.安装npm java项目需要依赖jar,安装maven。前端项目也需要依…

《Advanced RAG》-07-探索 RAG 中表格数据的处理方案

摘要 本文详细讨论了实现 Retrieval-Augmented Generation&#xff08;RAG&#xff09;时对表格进行处理的挑战&#xff0c;特别是在非结构化文档中自动准确地提取和理解表格信息。 首先介绍了RAG中管理表格的关键技术&#xff0c;包括表格解析和索引结构设计。 接着&#xff0…

PXE批量安装操作系统

PXE批量安装操作系统 系统环境rhedhat7.9关闭vmware内的dhcp服务 kickstart自动安装脚本的制作 在rhel7系统中提供图形的kickstart制作方式 在rhel8中已经把图形的工具取消&#xff0c;并添加到rhn网络中 在rhel8中如果无法通过rhn网络制作kickstart&#xff0c;可以使用模板…

LlamaIndex 实现 React Agent

React Agent 是指 LLM 对问题自行推理并调用外部工具解决问题&#xff0c;如下图所示&#xff0c;通过一些推理步骤最终找到想要的答案。 LlamaIndex 提供了实现 React Agent 的框架&#xff0c;通过框架可以轻松的实现上图中的步骤。那么&#xff0c;如果不用 LlamaIndex 应该…

【轻松面试】Java中的迭代器

Java中的迭代器 一、迭代器的基本方法 二、示例解释 三、注意事项 &#x1f388;边走、边悟&#x1f388;迟早会好 在 Java 中&#xff0c;迭代器&#xff08;Iterator&#xff09;是一种用于遍历集合&#xff08;如 List、Set 等&#xff09;元素的对象。迭代器提供了一种通…

6款超好用的图纸加密软件推荐(为图纸加密软件披上隐形铠甲!)

场景设定&#xff1a; 一个阳光明媚的下午&#xff0c;在创意满满的设计工作室里&#xff0c;李明和小张正围坐在会议桌旁&#xff0c;讨论着如何更好地保护他们精心设计的图纸不被泄露。 李明&#xff08;眉头紧锁&#xff09;&#xff1a;“小张啊&#xff0c;最近咱们的项目…