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

安装glibc+mysql的权限问题

安装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;
 


 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Studying-代码随想录训练营day59| dijkstra(堆优化版)精讲、Bellman_ford 算法精讲
  • Linux网络通信
  • 设计测试用例的具体方法
  • 小厂也是厂,3000我也干
  • vue+element 根据父容器动态设置table高度出滚动条
  • 掌握 Linux 信号机制的技巧与策略
  • Java同城达人交友系统源码
  • (五)activiti-modeler 编辑器初步优化
  • Qt WebEngine播放DRM音视频
  • 马尔科夫决策过程
  • Windows编译Boost需要注意的问题
  • C++面试基础算法的简要介绍
  • Java ExecutorService:你真的了解它吗?
  • 小程序支付(前端)
  • 自注意力和位置编码
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • 《深入 React 技术栈》
  • CSS 三角实现
  • Idea+maven+scala构建包并在spark on yarn 运行
  • Java新版本的开发已正式进入轨道,版本号18.3
  • js正则,这点儿就够用了
  • Median of Two Sorted Arrays
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • Python_网络编程
  • scala基础语法(二)
  • vue-loader 源码解析系列之 selector
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 翻译:Hystrix - How To Use
  • 全栈开发——Linux
  • 使用docker-compose进行多节点部署
  • -- 数据结构 顺序表 --Java
  • 原生Ajax
  • Linux权限管理(week1_day5)--技术流ken
  • #Datawhale AI夏令营第4期#多模态大模型复盘
  • #if和#ifdef区别
  • #vue3 实现前端下载excel文件模板功能
  • #数据结构 笔记一
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • ()、[]、{}、(())、[[]]命令替换
  • (1) caustics\
  • (HAL库版)freeRTOS移植STMF103
  • (二)springcloud实战之config配置中心
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (六)软件测试分工
  • ./和../以及/和~之间的区别
  • .NET Framework Client Profile - a Subset of the .NET Framework Redistribution
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?
  • .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • .NET大文件上传知识整理
  • .Net各种迷惑命名解释
  • .so文件(linux系统)
  • [ 蓝桥杯Web真题 ]-Markdown 文档解析
  • [17]JAVAEE-HTTP协议
  • [Algorithm][动态规划][两个数组的DP][正则表达式匹配][交错字符串][两个字符串的最小ASCII删除和][最长重复子数组]详细讲解