MySQL权限管理、配置文件(三)
一、MySQL权限管理
GRANT 权限 ON 授权范围 TO '用户名'@'允许的ip(所有%)' IDENTIFIED BY '用户密码'; 权限:参加下表,一般常用的是CREATE、DELETE、UPDATE、SELECT
授权范围:.库名.表名(全部*) .所有数据库 *.*
例:
# 为word用户授权wordpress数据库所有的权限 ALL 后面+ PRIVILEGES
GRANT ALL PRIVILEGES ON wordpress.* TO 'word'@'%' IDENTIFIED BY 'password';
# 刷新权限
FLUSH PRIVILEGES;
# 查看权限
show grants for word@'%';
# 移除权限
EVOKE ALL PRIVILEGES ON *.* (库名或者 '*'-表示全部) FROM '用户名'@'ip';
# 删除用户
DROP USER word@'%';
# 修改用户密码
SET PASSWORD FOR 'word'@'%' = PASSWORD(''); # 为远程登录的用户增加用户授权的命令
GRANT ALL PRIVILEGES ON *.* to 'root'@'192.168.5.%' identified by 'Wza7pK82016BC' with grant option; all privileges:表示将所有权限授予给用户。也可指定具体的权限,如:SELECT、CREATE、DROP等。
on:表示这些权限对哪些数据库和表生效,格式:数据库名.表名,这里写'*'表示所有数据库,所有表。如果我要指定将权限应用到test库的user表中,可以这么写:test.user
to:将权限授予哪个用户。格式:'用户名'@'登录IP或域名'。%表示没有限制,在任何主机都可以登录。比如:'lin'@'192.168.0.%',表示yangxin这个用户只能在192.168.0.*的IP段登录
identified by:指定用户的登录密码
with grant option:表示允许用户将自己的权限授权给其它用户。root登录后没有授权选项。
| 权限 | 列 | 上下文 |
| CREATE | Create_priv | 数据库、表或索引 |
| DROP | Drop_priv | 数据库或表 |
| GRANT OPTION | Grant_priv | 数据库、表或保存的程序 |
| REFERENCES | References_priv | 数据库或表 |
| ALTER | Alter_priv | 表 |
| DELETE | Delete_priv | 表 |
| INDEX | Index_priv | 表 |
| INSERT | Insert_priv | 表 |
| SELECT | Select_priv | 表 |
| UPDATE | Update_priv | 表 |
| CREATE VIEW | Create_view_priv | 视图 |
| SHOW VIEW | Show_view_priv | 视图 |
| ALTER ROUTINE | Alter_routine_priv | 保存的程序 |
| CREATE ROUTINE | Create_routine_priv | 保存的程序 |
| EXECUTE | Execute_priv | 保存的程序 |
| FILE | File_priv | 服务器主机上的文件访问 |
| CREATE TEMPORARY TABLES | Create_tmp_table_priv | 服务器管理 |
| LOCK TABLES | Lock_tables_priv | 服务器管理 |
| CREATE USER | Create_user_priv | 服务器管理 |
| PROCESS | Process_priv | 服务器管理 |
| RELOAD | Reload_priv | 服务器管理 |
| REPLICATION CLIENT | Repl_client_priv | 服务器管理 |
| REPLICATION SLAVE | Repl_slave_priv | 服务器管理 |
| SHOW DATABASES | Show_db_priv | 服务器管理 |
| SHUTDOWN | Shutdown_priv | 服务器管理 |
| SUPER | Super_priv | 服务器管理 |
二、MySQL的连接命令
# tcp/ip 连接
mysql -uroot -p123456 -h 192.168.7.80 -P # socket 连接
mysql -uroot -p123456 -S /usr/local/mysql/mysql.sock # 直接在linux客户端执行mysql的命令
# mysql -uroot -p123456 -e 'show databases;' # 导入指定的数据库
# mysql -uroot -p123456 wordpress < wordpress.sql
三、启动和停止数据库
# 数据库启动流程
mysql.server(/etc/init.d/mysqld start) --> mysqld_safe(/usr/local/mysql/bin/mysqld_safe &) --> mysqld # 单实例启动命令
/etc/init.d/mysqld start
/usr/local/mysql/bin/mysqld_safe & # 单实例关闭服务命令
/etc/init.d/mysqld stop
mysqladmin -uroot -p123456 shutdown # 多实例启动服务命令
/usr/local/mysql/bin/mysqld_safe --defaults-file=/data//my.cnf & # 多实例关闭服务命令
mysqladmin -uroot -p123456 -S /data/mysql2/.sock shutdown
四、my.cnf配置文件
4.1 定制mysql启动时的参数
./mysqld_safe --socket=/tmp/my.sock &
4.2 使用配置文件my.cnf
优先级:命令行 --> 初始化配置文件 --> 预编译的选项
4.3 初始化配置文件读取顺序
/etc/my.cnf --> /etc/mysql/my.cnf --> $MYSQL_HOME/my.cnf --> defaults-extra-file --> ~/.my.cnf
注意:以最后一个读到的配置文件为准,如果使用./bin/mysqld_safe守护进程启动mysql数据时,使用了--defaults-file=<配置文件路径>参数,这时只会使用这个参数指定的配置文件。
mysqld_safe --defaults-file=/tmp/my.conf &
4.4 MySQL初始化配置文件书写格式,依靠标签来识别服务器和客户端
[server] # 所有服务器程序
[mysqld] # 特定于服务器端程序
[mysqld_safe] # 特定于服务器端程序
[client] # 所有客户端程序
[mysql] # 特定于客户端程序
[mysqldump] # 特定于客户端程序
4.5 配置文件样例
# cat /etc/my.cnf
[mysqld]
server_id=
port=
basedir=/usr/local/mysql
datadir=/backup/data
socket=/tmp/mysql.sock
log_bin=/backup/binlog/mysql-bin
log_error=/var/log/mysql.log
binlog_format=row
sync_binlog=
character-set-server=utf8
# 慢查询日志开启
slow_query_log=
slow_query_log_file=/backup/slow.log
long_query_time=0.05
log_queries_not_using_indexes # 开启GTID的功能,否则就是普通的复制
gtid-mode=on
# 强制GTID的一致性
enforce-gtid-consistency=true
# 强制从库记录二进制日志;slave更新是否记入日志
log-slave-updates= # 安全储存目录
secure-file-priv=/backup
autocommit=
# transaction_isolation=read-committed # 一般查询日志
# general_log=on
# general_log_file=/usr/local/mysql/server.log # [mysqld_safe]
# log-error=/usr/local/mysql/
# pid-file=/var/run/mysql/mysql.pid [client]
# default-character-set=utf8
# character-set-server=utf8
socket=/tmp/mysql.sock
MySQL权限管理、配置文件(三)的更多相关文章
- mysql 权限管理 目录
mysql 权限管理介绍 mysql 权限管理 记录 mysql 权限管理 grant 命令 mysql 权限管理 revoke 回收权限 命令 mysql 权限管理 针对库 授权 db.* mysq ...
- mysql权限管理命令示例
mysql权限管理命令示例 grant all privileges on *.* to *.* identified by 'hwalk1'; flush privileges; insert in ...
- mysql 权限管理介绍
mysql权限管理 就是对控制用户对库.对表的权限.对表中字段权限 权限管理分步 1.创建账号 创建账号有本地账号和远程账号 本地账号 本地账号只能在mysql服务端机器做操作 '; # mysql ...
- 转 MySQL权限管理
###sample: #####view all userSELECT user, host from mysql.user;mysql> SELECT user, host from mysq ...
- mysql权限管理
经常遇到有网友在QQ群或者论坛上问关于mysql权限的问题,今天抽空总结一下关于这几年使用MYSQL的时候关于MYSQL数据库的权限管理的经验,也希望能对使用mysql的网友有所帮助! 一.MYSQL ...
- mysql 权限管理
参考: http://www.cnblogs.com/Richardzhu/p/3318595.html 一.MySQL权限简介 关于mysql的权限简单的理解就是mysql允许你做你全力以内 ...
- MySQL权限管理分配
之前一直忽视了MySQL的权限这一块的内容,以为一般般的知识点,随时用随时学就好了,导致自己这方面稍微有点不太明白的地方,总是踩坑,所以后来就总结一下: 1.MySQL权限系统的工作原理 .对连接的用 ...
- Mysql——权限管理
安装Mysql时会自动安装一个名为mysql的数据库.这个数据库下面存储的是权限表. mysql> show databases; +--------------------+ | Databa ...
- MySQL用户管理+MySQL权限管理
我们现在默认使用的都是root用户,超级管理员,拥有全部的权限! 但是,一个公司里面的数据库服务器上面可能同时运行着很多个项目的数据库! 所以,我们应该可以根据不同的项目建立不同的用户,分配不同的权限 ...
随机推荐
- Apex API 请求
Salesforce与网络服务的通信 在Salesforce中可以利用Apex类与远程站点的网络服务进行通信.当远程网络服务支持REST方法时,开发者可以利用Apex代码进行数据的操作. 设置远程站点 ...
- BZOJ 4491: 我也不知道题目名字是什么 线段树+离线
code: #include <string> #include <cstring> #include <cstdio> #include <algorith ...
- ASP.NET开发实战——(四)ASP.NET MVC是如何运行的?它的生命周期是什么?
前面的文章我们使用ASP.NET MVC创建了个博客应用,那么它是如何工作的呢?我们都知道ASP.NET的程序需要部署到IIS上才能够通过浏览器来访问,那么IIS与ASP.NET MVC程序之间又是如 ...
- Computer-Hunters——冲刺总结
Computer-Hunters--冲刺总结 一.作业相关 作业相关 具体描述 所属班级 2019秋福大软件工程实践Z班 作业要求 团队作业第五次-项目冲刺 作业正文 hunter--冲刺总结 团队名 ...
- Java 并发编程-不懂原理多吃亏(送书福利)
作者 | 加多 关注阿里巴巴云原生公众号,后台回复关键字"并发",即可参与送书抽奖!** 导读:并发编程与 Java 中其他知识点相比较而言学习门槛较高,从而导致很多人望而却步.但 ...
- 在 QML 中使用 C++ 类和对象
Qt Quick 技术的引入,使得你能够快速构建 UI ,具有动画.各种绚丽效果的 UI 都不在话下.但它不是万能的,也有很多局限性,原来 Qt 的一些技术,比如低阶的网络编程如 QTcpSocket ...
- oracle 数据库创建用户并授权
oracle 数据库创建用户并授权 备注: userName 为用户名,123456 为密码 drop user userName cascade; create user userName iden ...
- WebSocket的简单认识&SpringBoot整合websocket
1. 什么是WebSocket?菜鸟对websocket的解释如下 WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议. WebSocket 使得客户端和服务 ...
- ScheduledThreadPoolExecutor使用指南
ScheduledThreadPoolExecutor是Timer的多线程实现版本,JDK官方推荐使用.ScheduledThreadPoolExecutor用于替代Timer.是接口Schedule ...
- chrome(谷歌)浏览器字体发虚解决办法
chrome(谷歌浏览器)浏览网页时,字体发虚的解决办法: 1.点击chrome里的 “设置” - 外观 - 字体,改为 微软雅黑,该方法测试无效. 2.将系统字体的pingfang字体卸载,完美解决 ...