一、前言


  在日常工作、学习当中,MySQL几乎是任何一名程序员都会接触、使用的关系型数据库管理系统,但大多数开发人员可能更多关注于Mysql的CRUD操作;而有些时候,需要我们对Mysql的默认参数进行一些调整、优化,如最大连接数、高速缓存大小、缓存中线程数量等,当然,做这些之前,有必要了解如何安装Mysql,本文将对阿里云CentOS 6.5下安装Mysql 5.6步骤进行讲解。   

二、安装步骤


(注:图片看不清的,可单独打开图片看高清大图) 
第一步:查看是否已有老版本Mysql,如果有,则卸载,没有则跳过该步骤。 
先查看机器是否存在安装包、是否已经安装的服务,如果有,则删除或卸载 
查看命令:

rpm -qa|grep -i mysql11

删除命令:

rpm -ev 文件名11

卸载命令:

yum remove MySQL-server MySQL-devel11

这里写图片描述 
然后再执行 whereis mysql命令,查看残余mysql目录,有哪些目录,就用 rm -rf 目录 命令删除之;然后再依次执行以下几个删除命令删除相关文件,这条rm -rf /var/lib/mysql命令尤其重要(当然,如果是全新系统的话,这几个文件可能压根就没有,删除时还会抛异常,这个没关系)

rm –rf /usr/my.cnf
rm -rf /root/.mysql_sercret
rm -rf /etc/my.cnf
rm -rf /var/lib/mysql12341234

第二步:安装新版本Mysql

1、创建下载安装包的目录(笔者目录为/usr/local/tools
命令:

mkdir -p /usr/local/tools11

2、 下载 
先进入创建的目录,然后依次执行下载命令 
命令:

cd /usr/local/tools
wget http://dev.mysql.com/Downloads/MySQL-5.6/MySQL-server-5.6.21-1.rhel5.x86_64.rpm wget http://dev.mysql.com/Downloads/MySQL-5.6/MySQL-devel-5.6.21-1.rhel5.x86_64.rpmwget http://dev.mysql.com/Downloads/MySQL-5.6/MySQL-client-5.6.21-1.rhel5.x86_64.rpm12341234

这里写图片描述 
这里写图片描述 
  下载命令执行完后,执行ll命令可以看到3个下载好的安装包。可在下载命令中,将版本号直接改成自己所需的版本号,下载相应版本安装包。也可到mysql官方下载所需版本(CentOS 可以下载Red Hat Enterprise Linux / Oracle Linux版本的)。 
  下载地址: http://dev.mysql.com/downloads/mysql/ 
  下载步骤: 
这里写图片描述 
这里写图片描述 
这里写图片描述 
3、 安装 
  下载完成后,依次输入以下命令进行安装:

rpm -ivh MySQL-server-5.6.21-1.rhel5.x86_64.rpmrpm -ivh MySQL-client-5.6.21-1.rhel5.x86_64.rpmrpm -ivh MySQL-devel-5.6.21-1.rhel5.x86_64.rpm123123

  安装MySQL-server-5.6.21-1.rhel5.x86_64.rpm时,会显示一个进度条,最后会输出很多安装信息;注意下图中标识出来的信息,这2句提示信息说明了安装后“密码”、“默认配置文件”所在路径。 
这里写图片描述 
这里写图片描述 
   安装MySQL-client-5.6.21-1.rhel5.x86_64.rpm: 
这里写图片描述 
  安装MySQL-devel-5.6.21-1.rhel5.x86_64.rpm 
这里写图片描述 
4、 修改配置文件、初始化Mysql 
  4.1、修改配置文件路径到etc目录,命令:

 cp /usr/share/mysql/my-default.cnf /etc/my.cnf11

  4.2、初始化Mysql ,命令:

/usr/bin/mysql_install_db11

执行命令后,会有许多提示信息,包括如何启动mysql、数据引擎、警告信息等 
这里写图片描述 
  4.3、查看mysql服务是否已经启动,若没有启动,则启动mysql: 
  查看命令:

ps -ef|grep mysqlnetstat -anpt|grep 33061212

  启动命令:(老版本用service mysqld start命令)

service mysql start11

  启动成功,查看结果如下: 
这里写图片描述 
  (若没有启动成功,且启动时抛The server quit without updating PID file 异常,请查看后面“三、可能出现的异常”中的第4条) 
5、修改root账户初始密码 
  因为Mysql安装好后的初始默认密码是一个随机密码,我们可能需要修改成我们自己设置的密码: 
  查询默认密码命令:

more /root/.mysql_secret  11

  查看到初始密码后,使用mysql -uroot -pj3R5qTNxrKsxnQTj 命令登录Mysql:(j3R5qTNxrKsxnQTj即为笔者查到的初始密码) 
这里写图片描述 
  查看安装好的Mysql的版本: 
这里写图片描述 
  修改密码为123456: 
  命令:

set password = password('123456');11

  修改密码成功后用新密码登录:(原初始密码已登录不了) 
这里写图片描述 
这里写图片描述 
6、修改Mysql服务开机时自动启动(不需要则略过) 
  设置命令:

chkconfig mysql on;11

  查看设置结果命令:

chkconfig mysql --list;11

这里写图片描述 
7、客户端连接 
  笔者使用Navicat Premium工具连接: 
这里写图片描述 
登录成功: 
这里写图片描述 
(若登录失败,报“1130,…is not allowed to connect to this MySQL servcer”错误,请查看“三、可能出现的异常”中的第5条) 
至此,阿里云CentOS 6.5安装Mysql 5.6就算完成了。 

三、可能出现的异常


1、使用命令rpm -ev 文件名卸载文件不掉,抛error: Failed dependencies。(在后面加–nodeps参数) 
2、4.1条复制文件时,可能提示是否覆盖(是,选y)。 
3、安装时,可能出现有些依赖包没有的,直接只用yum install -y命令安装即可。 
4、启动时可能报“The server quit without updating PID file ([FAILED]/mysql/iZ94alccp3jZ.pid)”异常。 
  当出现这个异常时,可能大多数人的第一反应是,去网上搜索关键字,然后查到的解决办法无外乎以下几个方法: 
    a、查看磁盘、mysql权限、linux系统配置是否正常,若不正常,授权修复; 
    b、修改/etc/my.cnf 配置文件,修改innodb_buffer_pool_size等默认配置参数; 
    c、重启机器、清除Mysql并重新安装; 
  如果以上几个方法能够解决,那么恭喜;如果以上方式依然不能解决,请接着往下看笔者的解决过程。 
    a、首先,我们应该确认,到底为什么会抛这个异常呢?所以,我们进入mysql的错误日志中查看原因;(错误日志一般在/var/lib/mysql/目录下,笔者的错误日志文件为/var/lib/mysql/iZ94alccp3jZ.err) 
    b、查看日志,我们会发现出错的更详细信息 
这里写图片描述 
  通过日志中的描述,发现InnoDB问题,以为是Mysql默认内存大大,然后赶紧修改可my.cnf中的innodb_buffer_pool_size默认值,发现没用。然后用free -m命令查看了系统内存: 
这里写图片描述 
  发现是Swap的问题,然后配置1G的Swap,依次执行以下命令: 
  命令:

sudo dd if=/dev/zero of=/swapfile bs=1M count=1024sudo mkswap /swapfilesudo swapon /swapfile
free -m12341234

这里写图片描述 
执行以上操作后,再执行命令service mysql start启动,启动成功! 
5、客户端工具navicat 连接Mysql报错“1130,…is not allowed to connect to this MySQL servcer”。 
这里写图片描述 
原因: 
  由错误码“1130”及错误提示可知,这是由于Mysql的root账户是否允许其他机器远程登录的问题。 
解决方法: 
  设置允许其它机器远程登录。(真正生产环境,需要设置只允许特定ip访问等一系列Mysql权限控制,此处不再深入) 
  a、登录Mysql; 
  b、修改mysql库中的user表:(”%”表示root可以由任意主机登录Mysql) 
这里写图片描述 
  c、退出登录Mysql,重启Mysql服务:(exit;命令,或Ctrl+C快捷键均可退出登录) 
这里写图片描述 
  d、用客户端工具再次登录,即可登录成功。   

四、总结


1、Mysql的安装,看安装时输出信息很重要,很多信息都有描述;其中,出错时的错误日志信息尤其重要,报错的详细信息里面都有描述。切忌因为是大量英文而忽略不看! 
2、其实用 yum install命令可以直接安装当前系统默认伴随的旧版本Mysql,相对而言更简单,本文的意义在于可以安装自己指定的版本。(笔者系统默认的是Mysql5.1)