󰅡收起

老薛网络

专注区域互联网运营、产品、发展、市场合作

29
五月

阿里云CentOS 6.5安装Mysql 5.6

作者: alizee
分类: linux
发布时间: 2017-05-29 11:22

一、前言

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

二、安装步骤

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

rpm -qa|grep -i mysql
  • 1
  • 1

删除命令:

rpm -ev 文件名
  • 1
  • 1

卸载命令:

yum remove MySQL-server MySQL-devel
  • 1
  • 1

这里写图片描述
然后再执行 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/mysql
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

第二步:安装新版本Mysql

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

mkdir -p /usr/local/tools
  • 1
  • 1

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.rpm
wget http://dev.mysql.com/Downloads/MySQL-5.6/MySQL-client-5.6.21-1.rhel5.x86_64.rpm
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

这里写图片描述
这里写图片描述
下载命令执行完后,执行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.rpm
rpm -ivh MySQL-client-5.6.21-1.rhel5.x86_64.rpm
rpm -ivh MySQL-devel-5.6.21-1.rhel5.x86_64.rpm
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

安装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.cnf
  • 1
  • 1

4.2、初始化Mysql ,命令:

/usr/bin/mysql_install_db
  • 1
  • 1

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

ps -ef|grep mysql
netstat -anpt|grep 3306
  • 1
  • 2
  • 1
  • 2

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

service mysql start
  • 1
  • 1

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

more /root/.mysql_secret  
  • 1
  • 1

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

set password = password('123456');
  • 1
  • 1

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

chkconfig mysql on;
  • 1
  • 1

查看设置结果命令:

chkconfig mysql --list;
  • 1
  • 1

这里写图片描述
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=1024
sudo mkswap /swapfile
sudo swapon /swapfile
free -m
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

这里写图片描述
执行以上操作后,再执行命令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)

󰁠

本文出自 老薛网络 ,转载时请注明出处及相应链接。

本文永久链接: http://der.cc/archives/118

发表评论

电子邮件地址不会被公开。 必填项已用*标注