時間:2019-09-16 15:00:05 作者:無名 瀏覽量:20
大家好,小編是個電腦軟件控, MySQL的分區(qū)表功用自5.1才開始支撐,Centos的MySQL為5.0的,需求將其卸載后裝置5.1
下面是一些操作、過錯和解決方案的記錄:
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將其悉數(shù)刪掉
4. 下載mysql5.5的rpm版
rpm -ivh mysql-server和client
5. 發(fā)動新的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
MYSQL在Centos的卸載和安裝教程圖2
libmysqlclient.so是包含在mysql-share的,但直接裝置5.5版的mysql-share是不可的,由于該版本的沒有l(wèi)ibmysqlclient.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.在為其他節(jié)點遠程拜訪該服務器的數(shù)據(jù)庫設置時犯錯,Access denied for user \'root\'@\'localhost\'。
MySQL節(jié)點執(zhí)行GRANT命令為SPIDER服務器進行授權時,發(fā)生了如下過錯:
mysql> GRANT ALL ON *.* TO \'spider\'@\'spiderdb\' IDENTIFIED BY \'spider\';
ERROR 1045 (28000): Access denied for user \'root\'@\'localhost\' (using password: NO)
MYSQL在Centos的卸載和安裝教程圖3
但是我便是使用root用戶登錄的,root的password也是空的,怎么可能會發(fā)生這個過錯呢。
網(wǎng)上有相同的過錯,是登錄不進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
但是這個方法卻解決不了我的問題。
網(wǎng)上還有一種方法,刪除user.user中值為NULL的(delete from user where user is NULL),或更新NULL為test(update user set user=‘test‘ where user is NULL)。但是也不好使。
偶爾發(fā)現(xiàn)關于單個DB的授權是沒有問題的,莫非是root沒有特定DB的權限?寫了個script關于每個database執(zhí)行\(zhòng)"GRANT ALL ON $DATABASE.* TO \'root\'@\'localhost\' IDENTIFIED BY \'cps-pt\' with grant option;\",居然是information_schema的時分犯錯了。
前兩天同志執(zhí)行dump/restore的時分,DB曾經(jīng)死掉過,莫非information_schema被破壞掉了。
這好像是MySQL的一個restore時的bug。