我本来只是为了搭建简单的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/default7@zbphp.com/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>