首页 > 代码库 > 在阿里云Linux服务器上安装MySQL

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

申请阿里云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命令如下:

技术分享wget –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
技术分享wget –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
技术分享wget –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服务器:

技术分享rpm -ivh MySQL-server-5.6.10-1.rhel5.x86_64.rpm

 

安装依赖包libaio

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

技术分享error: Failed dependencies: 
技术分享libaio.so.1()(64bit) is needed by MySQL-server-5.6.10-1.rhel5.x86_64 
技术分享libaio.so.1(LIBAIO_0.1)(64bit) is needed by MySQL-server-5.6.10-1.rhel5.x86_64
技术分享libaio.so.1(LIBAIO_0.4)(64bit) is needed by MySQL-server-5.6.10-1.rhel5.x86_64

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

技术分享yum install libaio

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

技术分享Setting up Install Process 
技术分享No package libaio available.
技术分享Nothing to do

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

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

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

技术分享[root@AY130221101729bc93912 software]# rpm -qa|grep yum
技术分享yum-3.2.22-20.el5
技术分享yum-metadata-parser-1.1.2-3.el5
技术分享[root@AY130221101729bc93912 software]# rpm -e --nodeps yum-3.2.22-20.el5
技术分享warning: /etc/yum.conf saved as /etc/yum.conf.rpmsave
技术分享[root@AY130221101729bc93912 software]# rpm -e --nodeps yum-metadata-parser-1.1.2-3.el5

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

参考命令如下:

技术分享wget http://mirrors.163.com/centos/5/os/x86_64/CentOS/yum-3.2.22-40.el5.centos.noarch.rpm
技术分享wget http://mirrors.163.com/centos/5/os/x86_64/CentOS/yum-metadata-parser-1.1.2-4.el5.x86_64.rpm 
技术分享wget 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包:

技术分享rpm -ivh yum-*

下载CentOS-Base.repo

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

技术分享[root@AY130221101729bc93912 software]# cd /etc/yum.repos.d/
技术分享[root@AY130221101729bc93912 yum.repos.d]# wget http://www.linuxidc.com/files/2011/05/06/CentOS-Base.repo
技术分享--2013-02-22 08:58:27-- http://www.linuxidc.com/files/2011/05/06/CentOS-Base.repo
技术分享Resolving www.linuxidc.com技术分享 60.191.129.94
技术分享Connecting to www.linuxidc.com|60.191.129.94|:80技术分享 connected.
技术分享HTTP request sent, awaiting response技术分享 200 OK
技术分享Length: 1426 (1.4K) [application/octet-stream]
技术分享Saving to: `CentOS-Base.repo‘
技术分享
技术分享100%[==========================================================================================>] 1,426       --.-K/s   in 0s      
技术分享
技术分享2013-02-22 08:58:28 (124 MB/s) - `CentOS-Base.repo‘ saved [1426/1426]

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

技术分享[root@AY130221101729bc93912 yum.repos.d]# yum makecache
技术分享Loaded plugins: fastestmirror
技术分享Determining fastest mirrors
技术分享addons                                                                                  | 1.9 kB     00:00     
技术分享addons/filelists_db                                                             | 568 B     00:00     
技术分享
技术分享addons/other_db                                                                                   
技术分享base   
技术分享……                                                                                                                                                    3641/3641
技术分享base                                                                                                                      3641/3641
技术分享Metadata Cache Created<p align="justify"></p>

 安装依赖包libaio

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

技术分享[root@AY130221101729bc93912 yum.repos.d]# yum install libaio 
技术分享Loaded plugins: fastestmirror
技术分享Loading mirror speeds from cached hostfile
技术分享Setting up Install Process
技术分享Resolving Dependencies
技术分享……
技术分享Complete

安装MySQL Server的rpm包

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

技术分享[root@AY130221101729bc93912 software]# rpm -ivh MySQL-server-5.6.10-1.rhel5.x86_64.rpm 
技术分享Preparing技术分享                ########################################### [100%]
技术分享  1:MySQL-server           ########################################### [100%]
技术分享2013-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).
技术分享…….
技术分享A random root password has been set. You will find it in ‘/root/.mysql_secret‘.
技术分享2013-02-22 09:03:25 4132 [Note] Binlog end
技术分享2013-02-22 09:03:25 4132 [Note] InnoDB: FTS optimize thread exiting.
技术分享……

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

安装MySQL客户端

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

技术分享rpm -ivh MySQL-client-5.5.28-1.rhel5.i386.rpm

 

 安装MySQL开发依赖包

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

技术分享rpm -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”命令查看,参考执行结果如下所示:

 

技术分享[root@AY130221101729bc93912 mysql]# whereis mysql
技术分享mysql: /usr/bin/mysql /usr/include/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz

 

启动MySQL

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

技术分享[root@AY130221101729bc93912 software]# mysql
技术分享ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2)

      可使用如下命令启动MySQL:

技术分享service mysql start

      或者使用如下命令:

技术分享/etc/init.d/mysql start

 

登录MySQL

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

技术分享[root@AY130221101729bc93912 mysql]# mysql -u root -p
技术分享Enter password: 
技术分享Welcome to the MySQL monitor. Commands end with ; or \g.
技术分享Your MySQL connection id is 5
技术分享Server version: 5.6.10
技术分享
技术分享Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
技术分享
技术分享Oracle is a registered trademark of Oracle Corporation and/or its
技术分享affiliates. Other names may be trademarks of their respective
技术分享owners.
技术分享
技术分享Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.
技术分享mysql> show databases;
技术分享ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

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

 

技术分享mysql> SET PASSWORD = PASSWORD(‘root123456‘);
技术分享Query OK, 0 rows affected (0.00 sec)
技术分享mysql> show databases;
技术分享+--------------------+
技术分享| Database           |
技术分享+--------------------+
技术分享| information_schema |
技术分享| mysql              |
技术分享| performance_schema |
技术分享| test               |
技术分享+--------------------+

 

设置开机自启动

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

技术分享/etc/init.d/mysql start

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

 

技术分享netstat -nat
技术分享Active Internet connections (servers and established)
技术分享Proto Recv-Q Send-Q Local Address               Foreign Address             State      
技术分享tcp        0      0 127.0.0.1:8005              0.0.0.0:*                   LISTEN      
技术分享tcp        0      0 0.0.0.0:8009                0.0.0.0:*                   LISTEN      
技术分享tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN   
技术分享……

        

参考文档

(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

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