设为首页 收藏本站
查看: 1541|回复: 0

[经验分享] 我遇到的mysql问题(连续更新)

[复制链接]

尚未签到

发表于 2018-9-29 12:31:17 | 显示全部楼层 |阅读模式
  OS版本:CentOS 5.5,MySQL版本:5.0

  一、今天安装openQRM,但是失败了,这导致了一个问题:无法使用root账户登陆mysql了!错误代码:  


  • ERROR 1044 (42000):ccess denied for user 'root'@'localhost'
  


  按照网上的朋友的一般做法,重设MySQL的root密码,未能完全解决问题:  


  • service mysqld stop  --停掉mysql
  • mysqld_safe --skip-grant-tables &   --以mysqld_safe的启动方式忽略掉授权表
  • mysql  --直接在shell中输入此命令即可登陆
  

登陆mysql后进行以下操作,重设MySQL的root密码:  


  • use mysql;
  • update user set password=PASSWORD('12345') where user='root';
  • flush privileges;
  


  然后退出mysql,进行重启。要注意的是,以mysqld_safe方式启动的Mysql好像只能使用kill命令停掉。
  重启以后,使用刚才重设的root密码登陆:mysql -uroot -p12345
  可以登陆!  


  我说未能完全解决问题,是因为登陆以后的数据库看起来不对!只有两个数据库:information_schema和openqrm,并且,在进行其它操作时老是出现access denied的错误!  
  后来从网上看到有人在登陆时指定本机的IP,我试了一下,这样登陆以后显示结果才正常!  


  • mysql -u root -h 192.168.9.53 -p
  


  虽然可以使用上面的方法登陆,数据库显示也正常,但是总归觉得怪怪的,于是继续尝试。试了多次,最后只用了一个命令就解决了这个问题:  


  • drop user root@'localhost';
  


  退出mysql,重启Mysql,然后登陆mysql:mysql -uroot -p12345
  完全OK!  
-------------------------------------
  二、今天测试部的一位同事跑过来说需要用到研发部的一个数据库,要求我复制一个给他。我使用mysqldump的方法进行完全备份了一个,再新建数据库进行导入数据,大致过程如下:
  首先进入MySQL新建一个测试数据库:  


  • create database cms_test;
  

然后在shell中使用dump进行备份和导入:  


  • mysqldump cms >/opt/cms_test.sql
  • mysqldump cms_test
  

但是在本机测试添加用户是否成功时,出现了错误,错误提示如下:  


  • mysql -u test -p
  • Enter password:
  • ERROR 1045 (28000): Access denied for user 'test'@'localhost' (using password: YES)
  

我以为是在设置权限时哪里出了问题,于是删除原用户,再重新设置权限:  


  • use mysql
  • delete from user where user='test' and host="%";
  • grant all on cms.* to test@"%" identified by 'test';
  

但是还是无法连接!搜索网上资料,找到了原因:原来,新添加的记录被user表中host为localhost,用户名为空的记录匹配了!找到了原因,解决起来就容易了,删除该条记录即可:  


  • delete from user where host='localhost' and user=' ';
  

这个错误其实是可以避免的,首次启动Mysql时,会有一个提示,让你运行/usr/bin/mysqladmin -u root password 'new-password'来设置mysql的root密码,或者运行/usr/bin/mysql_secure_installation,选择后者,就可以删除那条用户名为空的记录!
-----------------------------------------
三、今天遇到了ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)的错误。
  无法重启:  


  • Stopping MySQL: [FAILED]
  • Timeout error occurred trying to start MySQL Daemon.
  • Starting MySQL: [FAILED]
  

/usr/bin/mysql_install_db:失败
  参考:http://hi.baidu.com/w_bobo/blog/item/5f3f7ef4c4de9cd1f2d38534.html/cmtid/87834fed2cea3ddab31cb1bb
  最后的解决办法:
  重启机器,重装mysql,然后service mysqld restart
  参考:http://www.cppblog.com/niewenlong/archive/2007/06/07/25763.aspx
------------------------------------------------


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-603808-1-1.html 上篇帖子: mysql数据文件解析(1) 下篇帖子: MySQL 5.7.17 Group Replication搭建
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表