我本來只是為了搭建簡單的LAMP環境,親自動手,卻發現有這麼多的問題會發生。(by default7#zbphp.com)
很多地方給的安裝Mysql的提示是通過yum一鍵安裝。shell命令如下:
yum install mysql yum install mysql-server yum install mysql-devel
但是,這個命令安裝的mysql版本很舊,5.1.0x版本的,官網的Mysql已經是 5.6.x版本了。太舊了,記得08年的時候就出了 5.1的版本了。
堅持安裝最新版本的,在MYSQL官網下載rpm-.tar安裝包,300MB左右。linux64。
[root@localhost mysqlinstall]# ls MySQL-client-5.6.19-1.linux_glibc2.5.x86_64.rpm MySQL-devel-5.6.19-1.linux_glibc2.5.x86_64.rpm MySQL-embedded-5.6.19-1.linux_glibc2.5.x86_64.rpm MySQL-server-5.6.19-1.linux_glibc2.5.x86_64.rpm MySQL-shared-5.6.19-1.linux_glibc2.5.x86_64.rpm MySQL-shared-compat-5.6.19-1.linux_glibc2.5.x86_64.rpm MySQL-test-5.6.19-1.linux_glibc2.5.x86_64.rpm [root@localhost mysqlinstall]# pwd /home/[email protected]/Downloads/mysqlinstall [root@localhost mysqlinstall]#
但是按照網上(CSDN博客、blogcn博客)一步步提示來安裝但是總是各種問題,各種問題,無法運行。
最後嘗試了很多遍終於安裝成功,正常運行:
[root@localhost /]# yum remove mysql Loaded plugins: fastestmirror, refresh-packagekit, security Setting up Remove Process No Match for argument: mysql Loading mirror speeds from cached hostfile * base: mirrors.163.com * extras: mirrors.163.com * updates: mirrors.163.com Package(s) mysql available, but not installed. No Packages marked for removal [root@localhost /]# yum remove mysql-server Loaded plugins: fastestmirror, refresh-packagekit, security Setting up Remove Process Resolving Dependencies --> Running transaction check ---> Package MySQL-server.x86_64 0:5.6.19-1.linux_glibc2.5 will be erased --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Removing: MySQL-server x86_64 5.6.19-1.linux_glibc2.5 installed 248 M Transaction Summary ================================================================================ Remove 1 Package(s) Installed size: 248 M Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Erasing : MySQL-server-5.6.19-1.linux_glibc2.5.x86_64 1/1 Verifying : MySQL-server-5.6.19-1.linux_glibc2.5.x86_64 1/1 Removed: MySQL-server.x86_64 0:5.6.19-1.linux_glibc2.5 Complete! [root@localhost /]# yum remove MySQL-* Loaded plugins: fastestmirror, refresh-packagekit, security Setting up Remove Process Resolving Dependencies --> Running transaction check ---> Package MySQL-devel.x86_64 0:5.6.19-1.linux_glibc2.5 will be erased ---> Package MySQL-shared.x86_64 0:5.6.19-1.linux_glibc2.5 will be erased ---> Package MySQL-shared-compat.x86_64 0:5.6.19-1.linux_glibc2.5 will be erased --> Processing Dependency: libmysqlclient.so.16()(64bit) for package: perl-DBD-MySQL-4.013-3.el6.x86_64 --> Processing Dependency: libmysqlclient.so.16(libmysqlclient_16)(64bit) for package: perl-DBD-MySQL-4.013-3.el6.x86_64 --> Running transaction check ---> Package perl-DBD-MySQL.x86_64 0:4.013-3.el6 will be erased --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Removing: MySQL-devel x86_64 5.6.19-1.linux_glibc2.5 installed 17 M MySQL-shared x86_64 5.6.19-1.linux_glibc2.5 @/MySQL-shared-5.6.19-1.linux_glibc2.5.x86_64 7.8 M MySQL-shared-compat x86_64 5.6.19-1.linux_glibc2.5 @/MySQL-shared-compat-5.6.19-1.linux_glibc2.5.x86_64 11 M Removing for dependencies: perl-DBD-MySQL x86_64 4.013-3.el6 @base 338 k Transaction Summary ================================================================================ Remove 4 Package(s) Installed size: 36 M Is this ok [y/N]: y Downloading Packages: Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Erasing : MySQL-devel-5.6.19-1.linux_glibc2.5.x86_64 1/4 Erasing : perl-DBD-MySQL-4.013-3.el6.x86_64 2/4 Erasing : MySQL-shared-compat-5.6.19-1.linux_glibc2.5.x86_64 3/4 Erasing : MySQL-shared-5.6.19-1.linux_glibc2.5.x86_64 4/4 Verifying : MySQL-shared-compat-5.6.19-1.linux_glibc2.5.x86_64 1/4 Verifying : MySQL-devel-5.6.19-1.linux_glibc2.5.x86_64 2/4 Verifying : MySQL-shared-5.6.19-1.linux_glibc2.5.x86_64 3/4 Verifying : perl-DBD-MySQL-4.013-3.el6.x86_64 4/4 Removed: MySQL-devel.x86_64 0:5.6.19-1.linux_glibc2.5 MySQL-shared.x86_64 0:5.6.19-1.linux_glibc2.5 MySQL-shared-compat.x86_64 0:5.6.19-1.linux_glibc2.5 Dependency Removed: perl-DBD-MySQL.x86_64 0:4.013-3.el6 Complete! [root@localhost /]# yum remove MySQL-* Loaded plugins: fastestmirror, refresh-packagekit, security Setting up Remove Process No Match for argument: MySQL-* Loading mirror speeds from cached hostfile * base: mirrors.163.com * extras: mirrors.163.com * updates: mirrors.163.com Package(s) MySQL-* available, but not installed. No Packages marked for removal [root@localhost /]# whereis mysql mysql: /usr/lib64/mysql [root@localhost /]# which mysql /usr/bin/which: no mysql in (/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/default7/bin) [root@localhost /]# yum remove MySQL-shared Loaded plugins: fastestmirror, refresh-packagekit, security Setting up Remove Process No Match for argument: MySQL-shared Loading mirror speeds from cached hostfile * base: mirrors.163.com * extras: mirrors.163.com * updates: mirrors.163.com No Packages marked for removal [root@localhost /]# whereis mysql mysql: /usr/lib64/mysql [root@localhost /]# which mysql /usr/bin/which: no mysql in (/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/default7/bin) [root@localhost /]# yum remove MySQL-test Loaded plugins: fastestmirror, refresh-packagekit, security Setting up Remove Process No Match for argument: MySQL-test Loading mirror speeds from cached hostfile * base: mirrors.btte.net * extras: mirrors.btte.net * updates: mirrors.btte.net Package(s) MySQL-test available, but not installed. No Packages marked for removal [root@localhost /]# clear
其實我一直不斷的重新安裝,總是問題,無法啟動或者報錯,原因在與第一次安裝步驟不正確,然後接下來不斷的重裝。
但是並沒有徹底卸載干淨。rpm -e Mysql 這個似乎區分大小寫,而我一開始直接刪除文件夾來卸載,後來用 rpm -e -nodeps mysql來卸載,但是還是有殘留。
最後是用的yum remove mysql ,mysql-server,mysql-shared 來卸載,為了卸載干淨,之後,將所有文件夾中有mysql的刪除掉。然後再重新安裝。
[root@localhost mysqlinstall]# ls MySQL-client-5.6.19-1.linux_glibc2.5.x86_64.rpm MySQL-devel-5.6.19-1.linux_glibc2.5.x86_64.rpm MySQL-embedded-5.6.19-1.linux_glibc2.5.x86_64.rpm MySQL-server-5.6.19-1.linux_glibc2.5.x86_64.rpm MySQL-shared-5.6.19-1.linux_glibc2.5.x86_64.rpm MySQL-shared-compat-5.6.19-1.linux_glibc2.5.x86_64.rpm MySQL-test-5.6.19-1.linux_glibc2.5.x86_64.rpm [root@localhost mysqlinstall]# rpm -ivh MySQL-server-*.rpm Preparing... ########################################### [100%] 1:MySQL-server ########################################### [100%] [root@localhost mysqlinstall]# rpm -ivh MySQL-client-*.rpm Preparing... ########################################### [100%] 1:MySQL-client ########################################### [100%] [root@localhost mysqlinstall]# rpm -ivh MySQL-devel-*.rpm Preparing... ########################################### [100%] 1:MySQL-devel ########################################### [100%] [root@localhost mysqlinstall]# service mysql status ERROR! MySQL is not running [root@localhost mysqlinstall]# service mysql start Starting MySQL.. SUCCESS!
修改設置密碼,原始密碼在/root/這個文件夾裡面,ls -a可以看到一個mysql的文件,裡面有原始密碼:
mysql> show databases; ERROR 1820 (HY000): You must SET PASSWORD before executing this statement mysql> select user(); ERROR 1820 (HY000): You must SET PASSWORD before executing this statement mysql> set password=password('zbphp.com'); Query OK, 0 rows affected (0.00 sec) mysql> show user(); ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'user()' at line 1 mysql> select user(); +----------------+ | user() | +----------------+ | root@localhost | +----------------+ 1 row in set (0.00 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+ 4 rows in set (0.01 sec) mysql> select version(); +-----------+ | version() | +-----------+ | 5.6.19 | +-----------+ 1 row in set (0.00 sec) mysql>