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

相关推荐
千里马学框架3 天前
一起学 Android 14:ShellTransition 屏幕旋转过程深度剖析
android·智能手机·性能优化·framework·性能·屏幕旋转·rotation
美狐美颜SDK开放平台3 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
AFinalStone3 天前
Android7 SystemUI源码解析(七)Keyguard锁屏模块深度解析
android·systemui
致远ccc3 天前
Google Play 上架前如何测试 App?多国家 Android 环境测试
android·app测试·googleplay·多国家应用测试
ttyyttemo3 天前
Kotlin 协程中的 Job 结构化并发与取消
android
sun0077003 天前
tbox 4g/5g切换,导致wan ip 改变,导致车机旧网络不可用。需要重启车机才行
android
其实防守也摸鱼3 天前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透
AFinalStone3 天前
Android7 SystemUI 源码解析(四)NavigationBar 导航栏与 SystemBars
android·systemui
JMchen3 天前
属性动画原理与高级动画实现
android·kotlin·canvas
AFinalStone3 天前
Android7 SystemUI 源码解析(二)启动流程深度解析
android·systemui