在阿里云Linux服务器上安装MySQL

时间:2021-11-03 07:10:52

申请阿里云Linux服务器

昨天在阿里云申请了一个免费试用5天的Linux云服务器。

操作系统:Red Hat Enterprise Linux Server 5.4 64位。

CPU:1核

内存:512M

硬盘空间:20G

带宽:1Mbps。

今天在这台云服务器上安装了基本环境(JDK、Tomcat和MySQL)。本文主要在阿里云Linux云服务器安装MySQL全过程,以及对安装时遇到的问题进行记录。

下载MySQL服务器和客户端

访问MySQL的官网,进入其下载页面(http://dev.mysql.com/downloads/mysql/#downloads),选择MySQL Community Server,在“Select Platform”下拉框中选择“Oracle & Red Hat Linux 4 & 5”。

因为是64位的操作系统,所以选择下载如下rpm包:

(1)MySQL-server-5.6.10-1.rhel5.x86_64.rpm:MySQL服务器;

(2)MySQL-client-5.6.10-1.rhel5.x86_64.rpm:MySQL客户端;

(3)MySQL-devel-5.6.10-1.rhel5.x86_64.rpm:Mysql开发依赖包。

将这些rpm包通过FTP上传到Linux服务器的某个目录,例如:/root/software。

也可在Linux服务器上通过wget命令取得这些rpm包,Linux命令如下:

在阿里云Linux服务器上安装MySQLwget –c http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-server-5.6.10-1.rhel5.x86_64.rpm/from/http://cdn.mysql.com
在阿里云Linux服务器上安装MySQLwget –c http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-client-5.6.10-1.rhel5.x86_64.rpm/from/http://cdn.mysql.com
在阿里云Linux服务器上安装MySQLwget –c http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-devel-5.6.10-1.rhel5.x86_64.rpm/from/http://cdn.mysql.co

安装MySQL服务器和客户端

安装MySQL服务器

下载完成后使用如下命令开始安装MySQL服务器:

在阿里云Linux服务器上安装MySQLrpm -ivh MySQL-server-5.6.10-1.rhel5.x86_64.rpm

安装依赖包libaio

在运行第一条安装MySQL服务器时会提示依赖包libaio.so.1没有安装,错误提示如下:

在阿里云Linux服务器上安装MySQLerror: Failed dependencies: 
在阿里云Linux服务器上安装MySQLlibaio.so.1()(64bit) is needed by MySQL-server-5.6.10-1.rhel5.x86_64 
在阿里云Linux服务器上安装MySQLlibaio.so.1(LIBAIO_0.1)(64bit) is needed by MySQL-server-5.6.10-1.rhel5.x86_64
在阿里云Linux服务器上安装MySQLlibaio.so.1(LIBAIO_0.4)(64bit) is needed by MySQL-server-5.6.10-1.rhel5.x86_64

需要使用yum命令快速安装依赖包libaio,运行如下命令:

在阿里云Linux服务器上安装MySQLyum install libaio

运行该命令时会发现在这台云服务器上无法通过yum快速安装软件,搜索了一些资料,原来是阿里云安装的是Red Hat5.4的64位系统,但是提供的是CentOS 32位的系统。错误信息参考如下:

在阿里云Linux服务器上安装MySQLSetting up Install Process 
在阿里云Linux服务器上安装MySQLNo package libaio available.
在阿里云Linux服务器上安装MySQLNothing to do

网上找到的一个解决方案是将yum替换成CentOS的版本,我尝试了下是可行的。过程如下:

通过rpm命令查看有哪些yum包,然后进行卸载

笔者在云服务器进行的操作如下:

在阿里云Linux服务器上安装MySQL[root@AY130221101729bc93912 software]# rpm -qa|grep yum
在阿里云Linux服务器上安装MySQLyum-3.2.22-20.el5
在阿里云Linux服务器上安装MySQLyum-metadata-parser-1.1.2-3.el5
在阿里云Linux服务器上安装MySQL[root@AY130221101729bc93912 software]# rpm -e --nodeps yum-3.2.22-20.el5
在阿里云Linux服务器上安装MySQLwarning: /etc/yum.conf saved as /etc/yum.conf.rpmsave
在阿里云Linux服务器上安装MySQL[root@AY130221101729bc93912 software]# rpm -e --nodeps yum-metadata-parser-1.1.2-3.el5

通过wget命令在163的镜像上下载CentOS的yum包

参考命令如下:

在阿里云Linux服务器上安装MySQLwget http://mirrors.163.com/centos/5/os/x86_64/CentOS/yum-3.2.22-40.el5.centos.noarch.rpm
在阿里云Linux服务器上安装MySQLwget http://mirrors.163.com/centos/5/os/x86_64/CentOS/yum-metadata-parser-1.1.2-4.el5.x86_64.rpm 
在阿里云Linux服务器上安装MySQLwget http://mirrors.163.com/centos/5/os/x86_64/CentOS/yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm

说明:可能版本会有一些不同,请大家在http://mirrors.163.com/centos/5/os/x86_64/CentOS/下查找yum-3xxx开头、yum-metadata开头和yum-fastestmirror开头的rpm包下载。

安装yum相关的rpm包

使用如下命令安装在(2)中下载的rpm包:

在阿里云Linux服务器上安装MySQLrpm -ivh yum-*

下载CentOS-Base.repo

找一个CentOS的包资源配置库,名为CentOS-Base.repo,放到/etc/yum.repos.d/路径:

在阿里云Linux服务器上安装MySQL[root@AY130221101729bc93912 software]# cd /etc/yum.repos.d/
在阿里云Linux服务器上安装MySQL[root@AY130221101729bc93912 yum.repos.d]# wget http://www.linuxidc.com/files/2011/05/06/CentOS-Base.repo
在阿里云Linux服务器上安装MySQL--2013-02-22 08:58:27-- http://www.linuxidc.com/files/2011/05/06/CentOS-Base.repo
在阿里云Linux服务器上安装MySQLResolving www.linuxidc.com在阿里云Linux服务器上安装MySQL 60.191.129.94
在阿里云Linux服务器上安装MySQLConnecting to www.linuxidc.com|60.191.129.94|:80在阿里云Linux服务器上安装MySQL connected.
在阿里云Linux服务器上安装MySQLHTTP request sent, awaiting response在阿里云Linux服务器上安装MySQL 200 OK
在阿里云Linux服务器上安装MySQLLength: 1426 (1.4K) [application/octet-stream]
在阿里云Linux服务器上安装MySQLSaving to: `CentOS-Base.repo'
在阿里云Linux服务器上安装MySQL
在阿里云Linux服务器上安装MySQL100%[==========================================================================================>] 1,426       --.-K/s   in 0s      
在阿里云Linux服务器上安装MySQL
在阿里云Linux服务器上安装MySQL2013-02-22 08:58:28 (124 MB/s) - `CentOS-Base.repo' saved [1426/1426]

生成缓存文件到/var/cache/yum目录

在阿里云Linux服务器上安装MySQL[root@AY130221101729bc93912 yum.repos.d]# yum makecache
在阿里云Linux服务器上安装MySQLLoaded plugins: fastestmirror
在阿里云Linux服务器上安装MySQLDetermining fastest mirrors
在阿里云Linux服务器上安装MySQLaddons                                                                                  | 1.9 kB     00:00     
在阿里云Linux服务器上安装MySQLaddons/filelists_db                                                             | 568 B     00:00     
在阿里云Linux服务器上安装MySQL
在阿里云Linux服务器上安装MySQLaddons/other_db                                                                                   
在阿里云Linux服务器上安装MySQLbase   
在阿里云Linux服务器上安装MySQL……                                                                                                                                                    3641/3641
在阿里云Linux服务器上安装MySQLbase                                                                                                                      3641/3641
在阿里云Linux服务器上安装MySQLMetadata Cache Created<p align="justify"></p>

安装依赖包libaio

第(5)步做完后,此时可以成功运行yum install libaio命令,参考执行情况如下:

在阿里云Linux服务器上安装MySQL[root@AY130221101729bc93912 yum.repos.d]# yum install libaio 
在阿里云Linux服务器上安装MySQLLoaded plugins: fastestmirror
在阿里云Linux服务器上安装MySQLLoading mirror speeds from cached hostfile
在阿里云Linux服务器上安装MySQLSetting up Install Process
在阿里云Linux服务器上安装MySQLResolving Dependencies
在阿里云Linux服务器上安装MySQL……
在阿里云Linux服务器上安装MySQLComplete

安装MySQL Server的rpm包

依赖包安装完成后,可以执行rpm -ivh MySQL-server-5.6.10-1.rhel5.x86_64.rpm包安装MySQL的服务器端。参考执行情况如下(省略了部分内容):

在阿里云Linux服务器上安装MySQL[root@AY130221101729bc93912 software]# rpm -ivh MySQL-server-5.6.10-1.rhel5.x86_64.rpm 
在阿里云Linux服务器上安装MySQLPreparing在阿里云Linux服务器上安装MySQL                ########################################### [100%]
在阿里云Linux服务器上安装MySQL  1:MySQL-server           ########################################### [100%]
在阿里云Linux服务器上安装MySQL2013-02-22 09:03:18 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
在阿里云Linux服务器上安装MySQL…….
在阿里云Linux服务器上安装MySQLA random root password has been set. You will find it in '/root/.mysql_secret'.
在阿里云Linux服务器上安装MySQL2013-02-22 09:03:25 4132 [Note] Binlog end
在阿里云Linux服务器上安装MySQL2013-02-22 09:03:25 4132 [Note] InnoDB: FTS optimize thread exiting.
在阿里云Linux服务器上安装MySQL……

安装完成后会生成root用户的随机密码,请使用“cat /root/.mysql_secret”或类似命令进行查看。

安装MySQL客户端

服务端安装完成后,使用如下命令安装MySQL客户端,命令如下:

在阿里云Linux服务器上安装MySQLrpm -ivh MySQL-client-5.5.28-1.rhel5.i386.rpm

安装MySQL开发依赖包

接着安装MySQL-devel-5.5.28-1.rhel5.i386.rpm,命令如下:

在阿里云Linux服务器上安装MySQLrpm -ivh MySQL-devel-5.5.28-1.rhel5.i386.rpm

MySQL的几个重要目录

(1)数据库目录
   /var/lib/mysql/

(2)配置文件
   /usr/share/mysql(mysql.server命令及配置文件)

(3)相关命令
   /usr/bin(mysqladmin mysqldump等命令)

   (4)启动脚本
   /etc/rc.d/init.d/(启动脚本文件mysql的目录)

若想查看MySQL安装到哪个目录,可使用“whereis mysql”命令查看,参考执行结果如下所示:

在阿里云Linux服务器上安装MySQL[root@AY130221101729bc93912 mysql]# whereis mysql
在阿里云Linux服务器上安装MySQLmysql: /usr/bin/mysql /usr/include/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz

启动MySQL

安装完成后mysql是没有启动的,运行mysql命令会提示如下错误:

在阿里云Linux服务器上安装MySQL[root@AY130221101729bc93912 software]# mysql
在阿里云Linux服务器上安装MySQLERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

可使用如下命令启动MySQL:

在阿里云Linux服务器上安装MySQLservice mysql start

或者使用如下命令:

在阿里云Linux服务器上安装MySQL/etc/init.d/mysql start

登录MySQL

使用mysql命令登录MySQL服务器,运行MySQL的命令时,会提示需要设置root用户密码,提示信息如下:

在阿里云Linux服务器上安装MySQL[root@AY130221101729bc93912 mysql]# mysql -u root -p
在阿里云Linux服务器上安装MySQLEnter password: 
在阿里云Linux服务器上安装MySQLWelcome to the MySQL monitor. Commands end with ; or \g.
在阿里云Linux服务器上安装MySQLYour MySQL connection id is 5
在阿里云Linux服务器上安装MySQLServer version: 5.6.10
在阿里云Linux服务器上安装MySQL
在阿里云Linux服务器上安装MySQLCopyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
在阿里云Linux服务器上安装MySQL
在阿里云Linux服务器上安装MySQLOracle is a registered trademark of Oracle Corporation and/or its
在阿里云Linux服务器上安装MySQLaffiliates. Other names may be trademarks of their respective
在阿里云Linux服务器上安装MySQLowners.
在阿里云Linux服务器上安装MySQL
在阿里云Linux服务器上安装MySQLType 'help;' or '\h' for help. Type '\c' to clear the current input statement.
在阿里云Linux服务器上安装MySQLmysql> show databases;
在阿里云Linux服务器上安装MySQLERROR 1820 (HY000): You must SET PASSWORD before executing this statement

可使用SET PASSWORD命令修改root用户的密码,参考如下:

在阿里云Linux服务器上安装MySQLmysql> SET PASSWORD = PASSWORD('root123456');
在阿里云Linux服务器上安装MySQLQuery OK, 0 rows affected (0.00 sec)
在阿里云Linux服务器上安装MySQLmysql> show databases;
在阿里云Linux服务器上安装MySQL+--------------------+
在阿里云Linux服务器上安装MySQL| Database           |
在阿里云Linux服务器上安装MySQL+--------------------+
在阿里云Linux服务器上安装MySQL| information_schema |
在阿里云Linux服务器上安装MySQL| mysql              |
在阿里云Linux服务器上安装MySQL| performance_schema |
在阿里云Linux服务器上安装MySQL| test               |
在阿里云Linux服务器上安装MySQL+--------------------+

设置开机自启动

设置开机自启动的方法有很多,例如使用chkconfig命令,另外也可以在/etc/rc.local文件中加上如下MySQL的启动命令,例如:

在阿里云Linux服务器上安装MySQL/etc/init.d/mysql start

设置完成后重启系统,使用natstat –nat命令可看到MySQL的3306端口:

在阿里云Linux服务器上安装MySQLnetstat -nat
在阿里云Linux服务器上安装MySQLActive Internet connections (servers and established)
在阿里云Linux服务器上安装MySQLProto Recv-Q Send-Q Local Address               Foreign Address             State      
在阿里云Linux服务器上安装MySQLtcp        0      0 127.0.0.1:8005              0.0.0.0:*                   LISTEN      
在阿里云Linux服务器上安装MySQLtcp        0      0 0.0.0.0:8009                0.0.0.0:*                   LISTEN      
在阿里云Linux服务器上安装MySQLtcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN   
在阿里云Linux服务器上安装MySQL……

参考文档

(1)《在Linux下安装和使用MySQL》:http://www.yesky.com/187/1754687.shtml

(2)《CentOS下以RPM方式安装MySQL5.5》:http://blog.seweal.com/post/centos-mysql-install-rpm

(3)《Redhat Linux无法使用yum快速安装软件解决方案》:

http://www.2cto.com/os/201112/113105.html

(4)CentOS的一些rpm包的镜像下载路径:http://mirrors.163.com/centos/5/os/x86_64/CentOS/

(5)MySQL的Server和Client端的下载路径:http://dev.mysql.com/downloads/mysql/#downloads