最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

mysql授权localhost&%区别及一直授权错误解决办法(安装openstack有感)_MySQL

来源:懂视网 责编:小采 时间:2020-11-09 19:48:18
文档

mysql授权localhost&%区别及一直授权错误解决办法(安装openstack有感)_MySQL

mysql授权localhost&%区别及一直授权错误解决办法(安装openstack有感)_MySQL:首先还是附上openstack文档,以此作为例子讲解为什么赋权了%而却一直报权限错误! mysql -u root -pyunjisuan CREATE DATABASE keystone; GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDE
推荐度:
导读mysql授权localhost&%区别及一直授权错误解决办法(安装openstack有感)_MySQL:首先还是附上openstack文档,以此作为例子讲解为什么赋权了%而却一直报权限错误! mysql -u root -pyunjisuan CREATE DATABASE keystone; GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDE
首先还是附上openstack文档,以此作为例子讲解为什么赋权了%而却一直报权限错误! 567988.png
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 343518.png
配置好keystone.conf文件: 223512.png
查看keystone日志: tailf /var/log/keystone/keystone.log
执行同步数据库命令:

su -s /bin/sh -c "keystone-manage db_sync" keystone



日志出现了让人头大的权限错误: 570717.png


这个错误估计困扰过很多安装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或者直接屏蔽掉此项,更多请自行查找资料。

继续回来将如何解决上述报错问题,回过去看看/etc/hosts文件: 792921.png
明明配置了controller节点了的,尝试将该项移个位置,奇迹出现: 779095.png
再上述127.0.0.1 localhost后面增加controller。至于放在127.0.0.1 localhost这一行数据代表什么意思,自己百度问去。只说一句是controller是localhost的别名alias。
继续执行命令:su -s /bin/sh -c "keystone-manage db_sync” keystone

查看日志: 101813.png

发现成功。其实这里的controller是localhost的别名,因为之前对localhost授权了,所以controller也即授权了。但是第一种/etc/hosts写法仅仅就是的DNS功能,所以报权限错误。
坑:此问题,困扰了好几年,最近安装juno版本时候有报错,发誓一定要解决,花了两天各种google、baidu终于解决。(原谅我小小的完美偏执综合征,不解决心理就不爽,就算能规避也还是不爽,不过最后还是解决了,给自己赞一个。)

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

mysql授权localhost&%区别及一直授权错误解决办法(安装openstack有感)_MySQL

mysql授权localhost&%区别及一直授权错误解决办法(安装openstack有感)_MySQL:首先还是附上openstack文档,以此作为例子讲解为什么赋权了%而却一直报权限错误! mysql -u root -pyunjisuan CREATE DATABASE keystone; GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDE
推荐度:
标签: 办法 错误 mysql
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top