MySQL数据库升级后使用客户端连接报错解决方法

3015阅读 0评论2013-01-04 fengzhanhai
分类:Mysql/postgreSQL

最近研究mysql数据库性能的相关问题,为了对比不同版本之间的差别。笔者找了一台测试服务器升级了该服务器的mysql数据库进行测试,在升级mysql过程中遇到了一些问题并将其中的解决方法记录分享一下。

一、        卸载mysql数据库

(如果各位博友想直接升级mysql也可以不用卸载直接使用yum update升级)

1、查询centos上安装的mysql程序包

 [root@localhost ~]#  rpm -qa | grep mysql

mysql-server-5.0.95-1.el5_7.1

mysql-5.0.95-1.el5_7.1

mysql-5.0.95-1.el5_7.1

2、卸载mysql数据库程序包

[root@localhost ~]#  rpm -e --nodeps mysql-server-5.0.95-1.el5_7.1

warning: /var/log/mysqld.log saved as /var/log/mysqld.log.rpmsave

[root@localhost ~]# rpm -e mysql-5.0.95-1.el5_7.1

error: "mysql-5.0.95-1.el5_7.1" specifies multiple packages

[root@localhost ~]# rpm -e --allmatches mysql-5.0.95-1.el5_7.1

二、        升级mysql数据库

1、安装MySQL 5.5.xyum源:

rpm -Uvh

2、安装MySQL客户端的支持包:

yum install libmysqlclient15 --enablerepo=webtatic

3、卸载MySQL老版本的软件包:

yum remove mysql mysql-*

4、安装MySQL 5.5的客户端和服务端:

yum install mysql55 mysql55-server --enablerepo=webtatic

5、启动MySQL系统服务,更新数据库:

/etc/init.d/mysqld restart

三、        通过客户端连接mysql数据库时报错如下:

Created with MySQL 50095, now running 50149. Please use mysql_upgrade

...

解决办法:

mysql_upgrade mysql -u root -p123abc (如果数据库的口令没有可以不填写)

忘记root口令解决方法:

# /etc/init.d/mysql stop

# mysqld_safe -u mysql --skip-grant-tables --skip-networking &

# mysql -u mysql

mysql> UPDATE user SET Password=PASSWORD('newpassword')where USER='root';

mysql> FLUSH PRIVILEGES;

mysql> exit

# /etc/init.d/mysqld restart

上一篇:cu测试
下一篇:关于系统调优的一点思考和建议--送给奋斗在运维一线的兄弟们