安装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 ![](https://i-blog.csdnimg.cn/direct/2a8d96acf3bb416e962dd8086d6415f3.png) 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;

相关推荐
姜行运34 分钟前
数据结构【栈和队列附顺序表应用算法】
android·c语言·数据结构·算法
wang_peng1 小时前
android studio 基础
android·ide·android studio
〆、风神3 小时前
EasyExcel 数据字典转换器实战:注解驱动设计
android·java·注解
stevenzqzq3 小时前
Android studio xml布局预览中 Automotive和Autotive Distant Display的区别
android·xml·android studio
QING6184 小时前
Kotlin commonPrefixWith用法及代码示例
android·kotlin·源码阅读
QING6184 小时前
Kotlin groupByTo用法及代码示例
android·kotlin·源码阅读
兰琛9 小时前
Compose组件转换XML布局
android·xml·kotlin
水w11 小时前
【Android Studio】解决报错问题Algorithm HmacPBESHA256 not available
android·开发语言·android studio
隐-梵13 小时前
Android studio进阶教程之(二)--如何导入高德地图
android·ide·android studio
Kika写代码14 小时前
【Android】界面布局-线性布局LinearLayout-例子
android·gitee