mysql授权localhost&%区别及一直授权错误解决办法(安装openstack有感)
来源:互联网 发布:手机淘宝联盟注册不了 编辑:程序博客网 时间:2024/05/27 06:52
http://blog.csdn.net/tantexian/article/details/44861733
版权声明:欢迎大家转载,转载请注明出处blog.csdn.net/tantexian。
首先还是附上openstack文档,以此作为例子讲解为什么赋权了%而却一直报权限错误!
mysql -u root -pyunjisuan
CREATE DATABASE keystone;
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'KEYSTONE_DBPASS';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'KEYSTONE_DBPASS';
正确理解,这里对用了%则代表了所有的host都能远程访问该mysql。但是查询mysql官方文档有说明,%并不包括localhost。这样呢,因此上述,对localhost和%都进行了赋权。
接下来看下hosts文件:
vim /etc/hosts
配置好keystone.conf文件:
查看keystone日志:
tailf /var/log/keystone/keystone.log
执行同步数据库命令:
su -s /bin/sh -c "keystone-manage db_sync" keystone
日志出现了让人头大的权限错误:
这个错误估计困扰过很多安装openstack的人,至少我从openstack e版到现在juno版本,都经常会报这种无厘头错误,
显然这个一看就是权限错误,一般我会采用直接将keystone。conf的connection = mysql://keystone:KEYSTONE_DBPASS@controller/keystone配置为
connection = MySQL://keystone:KEYSTONE_DBPASS@192.168.38.100/keystone即可解决。但是实际上我们授权了%应该是所有host都应该能访问才对。那么问题出在哪里呢?
通过查询了mysql官网资料说的是配置%那么其他所有host访问都有权限,可以上述报错不就是告诉我,没有权限么。
此处多说一句,此处配置%远程其他host有权限访问,那么在mysql的配置文件中 /etc/my.cnf,也需要做一些配置,将bind_address=0.0.0.0或者直接屏蔽掉此项,更多请自行查找资料。
如果想让外面host能访问数据库:(yunjisuan为root密码)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yunjisuan';
flush privileges;
继续回来将如何解决上述报错问题,回过去看看/etc/hosts文件:
明明配置了controller节点了的,尝试将该项移个位置,奇迹出现:
再上述127.0.0.1 localhost后面增加controller。至于放在127.0.0.1 localhost这一行数据代表什么意思,自己百度问去。只说一句是controller是localhost的别名alias。
继续执行命令:su -s /bin/sh -c "keystone-manage db_sync” keystone
查看日志:
发现成功。其实这里的controller是localhost的别名,因为之前对localhost授权了,所以controller也即授权了。但是第一种/etc/hosts写法仅仅就是的DNS功能,所以报权限错误。
坑:此问题,困扰了好几年,最近安装juno版本时候有报错,发誓一定要解决,花了两天各种google、baidu终于解决。
0 0
- mysql授权localhost&%区别及一直授权错误解决办法(安装openstack有感)
- mysql授权localhost&%区别及一直授权错误解决办法(安装openstack有感)
- openstack外篇之认识mysql授权及一些操作
- Ubuntu-安装mysql及远程授权
- mysql配置及授权
- mysql远程登录 错误2003 及root用户授权访问方法(树莓派装MySQL)
- MySql创建用户及授权
- MySql创建用户及授权
- mysql创建用户及授权
- MySql创建用户及授权
- MySql创建用户及授权
- MySQL用户管理及授权
- MySql创建用户及授权
- MySql创建用户及授权
- MySql创建用户及授权
- mysql创建用户及授权
- mysql 创建用户及授权
- mysql 新建用户及授权
- 使用 Spring Data JPA 简化 JPA 开发
- spring AOP代码实例
- Android 项目发布流程
- X86 和 X64
- 【手势识别の终极版】GestureOverlayView
- mysql授权localhost&%区别及一直授权错误解决办法(安装openstack有感)
- linux在shell中获取时间
- 如果整个应用都特别卡,而且别的内存优化都做了,还是不行,你不妨试试这个
- seo怎么做
- 比较perl+python
- Angular学习2
- NYOJ:遥控器
- 智能算法---遗传算法介绍
- csu 1808 地铁 dijkstra + heap 解题报告