手机版 |  广告合作 |  投稿说明 |  下载声明 | 
建站技术

MYSQL在Centos的卸载和安装教程


导读:大家好,小编是个电脑软件控,MySQL的分区表功用自5.1才开始支撑,Centos的MySQL为5.0的,需求将其卸载后装置5.1下面是一些操作、过错和解决方案的记录:1.关闭目前的mysql服务/e

大家好,小编是个电脑软件控, MySQL的分区表功用自5.1才开始支撑,Centos的MySQL为5.0的,需求将其卸载后装置5.1下面是一些操作、过错和解决方案的记录:

timg.png

1.关闭目前的mysql服务

/etc/init.d/mysqld stop

2.保证已正常关闭

ps -ef / grep mysql

假如没关闭,kill之

3. 查询mysql的装置情况:

rpm -qa / grep mysql

将列出来的删除。

rpm -e mysql-server.x86_64

假如报有多个,则用项 --allmatches将其悉数删掉

4. 下载mysql5.5的rpm版

rpm -ivh mysql-server和client

5. 发动新的mysql

/etc/init.d/mysql start

6. 尝试拜访

mysql -uroot -p

我的 默许无暗码,可正常拜访

7.但是之前的php使用无法用了,报cannot load mysql extension .please check your php configuration

原因是刚才把php-mysql删了,其实是不该该删的。

8.重新装置php-mysql,我的体系为centos5.3,php为5.1.依靠的php-mysql也为5.1.yum装置php-mysql报:

libmysqlclient.so.15()(64bit) is needed

libmysqlclient.so.15(libmysqlclient_15)(64bit) is needed

php-common is needed

libmysqlclient.so是包含在mysql-share的,但直接装置5.5版的mysql-share是不可的,由于该版本的没有libmysqlclient.so.15,都高于15.

需求到http://dev.mysql.com/downloads/mysql/5.1.html#downloads下载(MySQL-shared-compat-5.1.62-1.rhel5.i386.rpm)

然后装置,但由于我支撑装了5.5的mysql-share,会报抵触,即rpm装置时无法掩盖之前的,使用项--force强制掩盖即可。

rpm -ivh php-common-VERSION php-mysql-VERSION装置成功,解决该问题

9.在为其他节点远程拜访该服务器的数据库设置时犯错,Access denied for user \'root\'@\'localhost\'。

MySQL节点执行GRANT命令为SPIDER服务器进行授权时,发生了如下过错:

mysql> GRANT ALL ON *.* TO \'spider\'@\'spiderdb\' IDENTIFIED BY \'spider\';

ERROR 1045 (28000): Access denied for user \'root\'@\'localhost\' (using password: NO)

但是我便是使用root用户登录的,root的password也是空的,怎么可能会发生这个过错呢。

网上有相同的过错,是登录不进MySQL的解决方法。假如是忘记了暗码,可以用下边的方法:

# /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

# mysql -uroot -pnewpassword

但是这个方法却解决不了我的问题。

网上还有一种方法,删除user.user中值为NULL的(delete from user where user is NULL),或更新NULL为test(update user set user=‘test‘ where user is NULL)。但是也不好使。

偶尔发现关于单个DB的授权是没有问题的,莫非是root没有特定DB的权限?写了个script关于每个database执行\"GRANT ALL ON $DATABASE.* TO \'root\'@\'localhost\' IDENTIFIED BY \'cps-pt\' with grant option;\",居然是information_schema的时分犯错了。

前两天同志执行dump/restore的时分,DB曾经死掉过,莫非information_schema被破坏掉了。

这好像是MySQL的一个restore时的bug。


注:本文转载自网络,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们删除。