CentOS7安装MySQL6.5
为在Hadoop集群的HDFS上安装部署Hive,需要首先安装MySQL用于存储Hive的元数据库。本文主要记录部署过程及期间发现的一些问题的处理:
环境说明:
操作系统 CentOS7,同时为实验环境Hadoop集群的Master服务器,已经部署Hadoop 2.8
目标为在Master服务器部署MySQL 6.5
相关软件包:
1. mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz
MySQL通用Linux版本下载地址
最初尝试安装Red Hat Enterprise Linux 6 版本的匹配MySQL,但没有成功,最后选择了Generic版本。
目录
用 [TOC]
来生成目录:
准备工作
卸载系统预装的Mariadb
首先列出系统安装的Mariadb相关rpm package
[root@localhost logs]# rpm -qa | grep Maria*
MariaDB-server-5.5.49-1.el7.centos.x86_64
MariaDB-common-5.5.49-1.el7.centos.x86_64
MariaDB-client-5.5.49-1.el7.centos.x86_64
这里检测出主要是
MariaDB-server-5.5.49-1.el7.centos.x86_64
MariaDB-common-5.5.49-1.el7.centos.x86_64
MariaDB-client-5.5.49-1.el7.centos.x86_64
然后卸载数据库
[root@localhost logs]# yum -y remove maria*
- 卸载系统已安装的MySQL
首先使用rpm检查系统是否有自带的mysql
rpm -qa|grep mysql
如果存在,卸载掉
yum remove mysql-server mysql-libs compat-mysql51
删除文件
rm -rf /var/lib/mysql rm /etc/my.cnf
检测是否还有遗留文件
rpm -qa|grep mysql
find / -name mysql
如果存在,则逐一删除
rpm erase mariadb-libs-5.5.37-1.el7_0.x86_64
安装MySQL步骤
1. 上传安装包
使用Scp工具将MySQL Generic安装文件上传到目标服务器目录
进入安装包所在目录,解压缩安装文件
tar -xvf mysql-5.6.17-linux-glibc2.5-i686.tar.gz
复制解压后的mysql目录到系统的安装路径(指定安装路径/usr/local)
cp mysql-5.6.17-linux-glibc2.5-i686 /usr/local/mysql -r
mysql的默认安装路径/usr/local,不要修改否则会报错;如果希望安装到其他位置,参看后文的解决方法。
注意:目录结尾不要加‘/’
2. 添加系统mySQL用户组和mysql用户
执行命令:
groupadd mysql
useradd -r -g mysql mysql
3. 安装数据库
进入安装mysql软件目录,执行命令
cd /usr/local/mysql
修改当前目录拥有者为mysql用户,执行命令
chown -R mysql:mysql ./
开始安装数据库,执行命令
./scripts/mysql_install_db --user=mysql
注意前面有个“.”,此处一定要以mysql用户安装,mysql用户未启动脚本的默认用户,否则安装无法成功。
修改当前目录拥有者为root用户,执行命令
chown -R root:root ./
修改当前data目录拥有者为mysql用户,该目录为mysql用户存储数据文件目录,执行命令
chown -R mysql:mysql data
此时,数据库安装完成。
4. 启动MySQL服务及设置为开机启动
启动mysql服务和添加开机启动mysql服务:
添加开机启动,执行命令
cp support-files/mysql.server /etc/init.d/mysql
把启动脚本复制到开机初始化目录。接下来,赋予可执行权限
chmod +x /etc/init.d/mysql
添加服务
chkconfig --add mysql
显示服务列表
chkconfig --list
如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则键入
chkconfig --level 345 mysql on
启动mysql服务,执行命令
service mysql start
查看mysql服务运行状态
service mysql status
5. 修改数据库root登录密码
修改mysql的root用户密码,root初始密码为空的,执行命令:
./bin/mysqladmin -u root password 'XXXXXX'
注意前面有个“.”
6. 添加MySQL到Path环境变量
把mysql客户端放到默认路径:
ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
注意:建议使用软链过去,不要直接包文件复制,便于系统安装多个版本的mysql
配置环境变量
vi /etc/profile
export MYSQL_HOME=/usr/local/mysql
export PATH=$MYSQL_HOME/bin:$PATH
最后,保存退出。指定source命令使配置生效。
source /etc/profile
问题汇总
记录一些安装问题的解决 :
序号 | 问题 | 解决方案 |
---|---|---|
1 | 安装mysql与CentOSD预装的mariadb引发冲突 | 卸载预装的mariadb |
2 | Starting MySQL.. ERROR! The server quit without updating PID file | 没有使用mysql用户安装参见问题 |
3 | 不在默认目录中安装mySQL | 修改启动脚本/etc/init.d/mysql ——参见下文 |
4 | 服务不存在 | 使用chkconfig –add 添加服务 ——参见下文 |
如果没有在默认安装目录(/usr/local/mysql)安装
#若mysql的安装目录是/usr/local/mysql,则可省略此步
vim /etc/init.d/mysql
修改文件中的两个变更值
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
定位mysql安装路径
首先查找你安装的mysql位置
[root@localhost ~]# which mysql
/usr/bin/mysql