CDH的时候,发现重启报错,查看日志才发现是mysql数据库连接不上。在尝试解决的过程中,踩到一些坑。所以总结一下,并分享给大家看看,减少大家伙继续踩坑的次数。那么,连接报错会提示什么呢?如下:
ERROR 1045 (28000): Access denied for user 'hive'@'datanode01' (using password: YES)
| 软件 | 版本 |
|---|---|
| mysql | 5.6.40 |
| Centos | 7 |
那就重新输对就行!反之,如果是忘记密码,就得费一番功夫了。
然后,这里针对忘记密码,就得区分两种情况了:
ps -ef|grep mysqld|grep -v grep|awk '{print $2}'|xargs kill -9
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
mysql -uroot
UPDATE user SET Password=PASSWORD('密码') where USER='root';
请注意使用MySQL提供的PASSWORD()函数来对密码进行加密。 注意: 在MySQL5.7中user表的password已换成了authentication_string。 注意:password()加密函数已经在8.0.11中移除了,可以使用MD5()函数代替。
FLUSH PRIVILEGES;
注意: 注意需要执行FLUSH PRIVILEGES语句。 这个命令执行后会重新载入授权表。 如果你不使用该命令,你就无法使用新创建的用户来连接mysql服务器,除非你重启mysql服务器。
mysqladmin -uroot -p shutdown
mysqld_safe &
root账户忘记密码了,就直接用root账户重新更新密码即可。
UPDATE user SET Password=PASSWORD('密码') where USER='{用户名称}';
FLUSH PRIVILEGES;
请注意使用MySQL提供的PASSWORD()函数来对密码进行加密。 注意: 在MySQL5.7中user表的password已换成了authentication_string。 注意:password()加密函数已经在8.0.11中移除了,可以使用MD5()函数代替。 注意: 注意需要执行FLUSH PRIVILEGES语句。 这个命令执行后会重新载入授权表。 如果你不使用该命令,你就无法使用新创建的用户来连接mysql服务器,除非你重启mysql服务器。
user表配置的host地址是datanode01,那如果在namenode01访问,就会报连接不上。那么,可以使用grant命令来赋权,grant可以赋值的权限可以看文末的扩展。比如我们给hive用户,赋权hive数据库的访问权限,登录密码为test,那么可以执行以下命令:
# 赋予部分权限,不限访问地址
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP on hive.* to 'hive'@'%' identified by 'test';
#or 赋予全部权限,不限访问地址
GRANT all privileges on hive.* to 'hive'@'%' identified by 'test';
#or 赋予全部权限,限制访问地址,datanode01可以自定义,主要为访问的地址
GRANT all privileges on hive.* to 'hive'@'datanode01' identified by 'test';
执行完毕之后,记得刷新权限
FLUSH PRIVILEGES;
user存在可以匹配上的多个host数据,如图:
| Host | User | Password |
|---|---|---|
| % | test | *19F211E90F007D52C9E9B0127238E56057782 |
| localhost | *19F211E90F007D52C9E9B0127238E56057781 |
test在表user里面有多条记录,其中存在匿名用户,而且密码和test用户的密码不一致。这样,用户在登陆mysql的时候,mysql会进行选择,选择了匿名用户的这条记录,然后密码不匹配,就会报这个问题。那么匹配的规则是怎么样的呢?
首先,检查 Host 字段。如果有多个 Host 符合条件,则选择匹配度最高的记录(IP地址 > 通配符%)。 其次,检查 User 字段。如果有多个 User 符合条件,则选择匹配度最高的记录。匿名用户可以匹配任何用户,因此匹配度最低。 ——引自《https://www.cnblogs.com/chyingp/p/mysql-access-denied-because-of-anonymous-user.html》那么如何解决这个问题呢,这个有两种方案:
Host为需要访问的地址的记录mysql服务器,否则都是不生效的。
FLUSH PRIVILEGES;
mysql数据库连接不上的情况,博主罗列了几种情况。一般按照这几种情况,依次排查,都可以解决这个问题。当然,如果有其他情况,也欢迎大家留言。谢谢大家!
Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
我正在使用这个:4.times{|i|assert_not_equal("content#{i+2}".constantize,object.first_content)}我之前声明过局部变量content1content2content3content4content5我得到的错误NameError:wrongconstantnamecontent2这个错误是什么意思?我很确定我想要content2=\ 最佳答案 你必须用一个大字母来调用ruby常量:Content2而不是content2。Aconstantnamestart
我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po
尝试通过RVM将RubyGems升级到版本1.8.10并出现此错误:$rvmrubygemslatestRemovingoldRubygemsfiles...Installingrubygems-1.8.10forruby-1.9.2-p180...ERROR:Errorrunning'GEM_PATH="/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/ruby-1.9.2-p180@global:/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/rub
这里是Ruby新手。完成一些练习后碰壁了。练习:计算一系列成绩的字母等级创建一个方法get_grade来接受测试分数数组。数组中的每个分数应介于0和100之间,其中100是最大分数。计算平均分并将字母等级作为字符串返回,即“A”、“B”、“C”、“D”、“E”或“F”。我一直返回错误:avg.rb:1:syntaxerror,unexpectedtLBRACK,expecting')'defget_grade([100,90,80])^avg.rb:1:syntaxerror,unexpected')',expecting$end这是我目前所拥有的。我想坚持使用下面的方法或.join,
我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search
由于fast-stemmer的问题,我很难安装我想要的任何rubygem。我把我得到的错误放在下面。Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingfast-stemmer:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcreatingMakefilemake"DESTDIR="cleanmake"DESTDIR=
我克隆了一个rails仓库,我现在正尝试捆绑安装背景:OSXElCapitanruby2.2.3p173(2015-08-18修订版51636)[x86_64-darwin15]rails-v在您的Gemfile中列出的或native可用的任何gem源中找不到gem'pg(>=0)ruby'。运行bundleinstall以安装缺少的gem。bundleinstallFetchinggemmetadatafromhttps://rubygems.org/............Fetchingversionmetadatafromhttps://rubygems.org/...Fe
当我尝试安装Ruby时遇到此错误。我试过查看this和this但无济于事➜~brewinstallrubyWarning:YouareusingOSX10.12.Wedonotprovidesupportforthispre-releaseversion.Youmayencounterbuildfailuresorotherbreakages.Pleasecreatepull-requestsinsteadoffilingissues.==>Installingdependenciesforruby:readline,libyaml,makedepend==>Installingrub
我正在尝试使用boilerpipe来自JRuby。我看过guide从JRuby调用Java,并成功地将它与另一个Java包一起使用,但无法弄清楚为什么同样的东西不能用于boilerpipe。我正在尝试基本上从JRuby中执行与此Java等效的操作:URLurl=newURL("http://www.example.com/some-location/index.html");Stringtext=ArticleExtractor.INSTANCE.getText(url);在JRuby中试过这个:require'java'url=java.net.URL.new("http://www