我遇到的mysql问题(连续更新)

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

  OS版本:CentOS 5.5,MySQL版本:5.0

  一、今天安装openQRM,但是失败了,这导致了一个问题:无法使用root账户登陆mysql了!错误代码:  
 
  
  1. ERROR 1044 (42000):ccess denied for user 'root'@'localhost'
  按照网上的朋友的一般做法,重设MySQL的root密码,未能完全解决问题:  
 
  
  1. service mysqld stop --停掉mysql
  2. mysqld_safe --skip-grant-tables & --以mysqld_safe的启动方式忽略掉授权表
  3. mysql --直接在shell中输入此命令即可登陆
  登陆mysql后进行以下操作,重设MySQL的root密码:  
 
   
  1. use mysql;
  2. update user set password=PASSWORD('12345') where user='root';
  3. flush privileges;
  然后退出mysql,进行重启。要注意的是,以mysqld_safe方式启动的Mysql好像只能使用kill命令停掉。
  重启以后,使用刚才重设的root密码登陆:mysql -uroot -p12345
  可以登陆!

  我说未能完全解决问题,是因为登陆以后的数据库看起来不对!只有两个数据库:information_schema和openqrm,并且,在进行其它操作时老是出现access denied的错误!  
  后来从网上看到有人在登陆时指定本机的IP,我试了一下,这样登陆以后显示结果才正常!  
 
   
  1. mysql -u root -h 192.168.9.53 -p
  虽然可以使用上面的方法登陆,数据库显示也正常,但是总归觉得怪怪的,于是继续尝试。试了多次,最后只用了一个命令就解决了这个问题: 
 
   
  1. drop user root@'localhost';
  退出mysql,重启Mysql,然后登陆mysql:mysql -uroot -p12345
  完全OK!  
-------------------------------------
   二、今天测试部的一位同事跑过来说需要用到研发部的一个数据库,要求我复制一个给他。我使用mysqldump的方法进行完全备份了一个,再新建数据库进行导入数据,大致过程如下:
  首先进入MySQL新建一个测试数据库:
 
 
  1. create database cms_test;
  然后在shell中使用dump进行备份和导入:
 
 
  1. mysqldump cms >/opt/cms_test.sql
  2. mysqldump cms_test </opt/cms_test.sql
  重新进入数据库赋于用户权限:
 
 
  1. grant all on cms.* to test@"%" identified by 'test';
  但是在本机测试添加用户是否成功时,出现了错误,错误提示如下:
 
 
  1. mysql -u test -p
  2. Enter password:
  3. ERROR 1045 (28000): Access denied for user 'test'@'localhost' (using password: YES)
  我以为是在设置权限时哪里出了问题,于是删除原用户,再重新设置权限:
 
 
  1. use mysql 
  2. delete from user where user='test' and host="%"
  3. grant all on cms.* to test@"%" identified by 'test'; 
  但是还是无法连接!搜索网上资料,找到了原因:原来,新添加的记录被user表中host为localhost,用户名为空的记录匹配了!找到了原因,解决起来就容易了,删除该条记录即可:
 
 
  1. 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)的错误。
  无法重启:
 
 
  1. Stopping MySQL: [FAILED]
  2. Timeout error occurred trying to start MySQL Daemon.
  3. 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

------------------------------------------------ 

本文转自 li_qinshan 51CTO博客,原文链接:http://blog.51cto.com/share/495643
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
关系型数据库 MySQL Java
MySQL 巨坑:update 更新慎用影响行数做判断!!!
MySQL 巨坑:update 更新慎用影响行数做判断!!!
753 0
MySQL 巨坑:update 更新慎用影响行数做判断!!!
|
SQL 关系型数据库 MySQL
mysql更新密码字段为手机号后六位前面拼接上Q后面拼接上W然后md5加密
mysql更新密码字段为手机号后六位前面拼接上Q后面拼接上W然后md5加密
274 0
|
关系型数据库 MySQL
MySQL基础-删除/更新行为
添加了外键之后,再删除父表数据时产生的约束行为,我们就称为删除/更新行为。具体的删除/更新行为有以下几种:
155 0
|
关系型数据库 MySQL 索引
mysql更新varchar类型字段长度报错:ERROR 1074 (42000): Column length too big for column ‘value‘ (max = 21845);
mysql更新varchar类型字段长度报错:ERROR 1074 (42000): Column length too big for column ‘value‘ (max = 21845);
|
关系型数据库 MySQL 测试技术
面试官:MySQL 中 update 更新,数据与原数据相同时会执行吗?大部分人答不上来!
面试官:MySQL 中 update 更新,数据与原数据相同时会执行吗?大部分人答不上来!
158 0
|
SQL 关系型数据库 MySQL
MySQL UPDATE 更新
MySQL UPDATE 更新
97 0
|
存储 SQL 关系型数据库
Mysql-一条更新语句要经历那些流程
Mysql-一条更新语句要经历那些流程
Mysql-一条更新语句要经历那些流程
|
关系型数据库 MySQL 数据库
MySQL - 更新时间 & 创建时间
MySQL - 更新时间 & 创建时间
296 0
|
存储 关系型数据库 MySQL
MySQL设计规范内容更新
MySQL设计规范内容更新
110 0
|
SQL 关系型数据库 MySQL
【MySQL作业】DDL 和 DML——美和易思使用 DML 新增和更新表数据应用习题
【MySQL作业】DDL 和 DML——美和易思使用 DML 新增和更新表数据应用习题
159 0
【MySQL作业】DDL 和 DML——美和易思使用 DML 新增和更新表数据应用习题