CentOS 7下MySQL 5.6rpm包的安装

在CentOS下安装MySQL 5.6用于历史数据存储和事务性查询,实现目标是:

  • 数据库由独立的mysql用户管理,数据存放在该用户的主目录下;
  • 数据库安装方式是离线安装,便于在内网中重复安装;
  • 配置基本用户root的密码,系统开机自动启动。

一、系统准备

1. 创建mysql用户

属于mysql用户组,用户主目录 /home/mysql

[root@localhost ems]# useradd -g mysql -d /home/ems mysql

[root@localhost ems]# passwd mysql

更改用户 mysql 的密码 。

新的 密码:

2. 创建基本目录

[mysql@localhost ~]$ mkdir data

[mysql@localhost ~]$ mkdir rpms

3.解压MySQL 5.6安装文件

将MySQL-5.6.35-1.el7.x86_64.rpm-bundle.tgz 拷到 /home/mysql/rpms下

[ems@localhost ~]$ tar -xf MySQL-5.6.35-1.el7.x86_64.rpm-bundle.tgz

[ems@localhost ~]$ ls rpms

MySQL-5.6.35-1.el7.x86_64.rpm-bundle.tar

MySQL-client-5.6.35-1.el7.x86_64.rpm

MySQL-devel-5.6.35-1.el7.x86_64.rpm

MySQL-embedded-5.6.35-1.el7.x86_64.rpm

MySQL-server-5.6.35-1.el7.x86_64.rpm

MySQL-shared-5.6.35-1.el7.x86_64.rpm

MySQL-shared-compat-5.6.35-1.el7.x86_64.rpm

MySQL-test-5.6.35-1.el7.x86_64.rpm

二、安装MySQL

1. 删除MariaDB

Mariadb数据库为Readhat Linux 7(或CentOS 7)默认安装的数据库,在安装mysql数据库前,先查看mariadb数据库是否安装,如果已经安装了,首先应该删除安装的mariadb数据库。

[root@localhost rpms]# rpm -qa|grep maria

mariadb-server-5.5.52-1.el7.x86_64

mariadb-libs-5.5.52-1.el7.x86_64

mariadb-5.5.52-1.el7.x86_64

依次进行删除

[root@localhost rpms]# yum remove mariadb-server-5.5.52-1.el7.x86_64

[root@localhost rpms]# yum remove mariadb-5.5.52-1.el7.x86_64

[root@localhost rpms]# yum remove mariadb-libs-5.5.52-1.el7.x86_64

2. 安装rpm包

[root@localhost rpms]# ls

MySQL-5.6.35-1.el7.x86_64.rpm-bundle.tar MySQL-server-5.6.35-1.el7.x86_64.rpm

MySQL-client-5.6.35-1.el7.x86_64.rpm MySQL-shared-5.6.35-1.el7.x86_64.rpm

MySQL-devel-5.6.35-1.el7.x86_64.rpm MySQL-shared-compat-5.6.35-1.el7.x86_64.rpm

MySQL-embedded-5.6.35-1.el7.x86_64.rpm MySQL-test-5.6.35-1.el7.x86_64.rpm

安装其中的的3个包,最重要的是 MySQL-server-5.6.35-1.el7.x86_64.rpm

[root@localhost rpms]# yum localinstall MySQL-server-5.6.35-1.el7.x86_64.rpm

已加载插件:fastestmirror, langpacks

正在检查 MySQL-server-5.6.35-1.el7.x86_64.rpm: MySQL-server-5.6.35-1.el7.x86_64

MySQL-server-5.6.35-1.el7.x86_64.rpm 将被安装

正在解决依赖关系

--正在检查事务

---软件包 MySQL-server.x86_64.0.5.6.35-1.el7 将被 安装

--解决依赖关系完成

……

已安装:
MySQL-server.x86_64 0:5.6.35-1.el7

完毕!

初始安装后的MySQL各类文件位置如下:

可执行文件在 /usr/bin/ 和 /usr/sbin/

数据库文件在 /var/lib/mysql

初始配置文件在 /usr/my.cnf

3. 配置MySQL的数据主目录

将MySQL的数据目录移到/hoem/mysql/data下

[root@localhost data]# cp -r /var/lib/mysql /home/mysql/data
[root@localhost data]# chown -R mysql:mysql /home/mysql/data/mysql

4. 更改SElinux的权限

由于CentOS 7 采用了SElinux安全方案,会导致数据库系统运行时的诸多限制。比如,会出现下面无法创建子进程pid文件的情况:

[ems@localhost ~]$ service mysql start

Starting MySQL. ERROR! The server quit without updating PID file (/home/mysql/data/mysql/localhost.localdomain.pid).

可将SElinux设为不可用:

[root@GHHIS run]# vi /etc/selinux/config

……

SELINUX=disabled

……

SELINUXTYPE=targeted

重启CentOS系统。

5. 拷贝并修改my.cnf

将/usr/my.cnf拷贝到/etc下,修改my.cnf,增加下面的内容:

[mysqld]

datadir=/home/mysql/data/mysql

socket=/home/mysql/data/mysql/mysql.sock

lower_case_table_names=1

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

[mysql]

socket=/home/mysql/data/mysql/mysql.sock

四、设置自启动

[root@localhost ~]# chkconfig mysql on

[root@localhost ~]# chkconfig --list|grep mysql

注意:该输出结果只显示 SysV 服务,并不包含原生 systemd 服务。SysV 配置数据可能被原生 systemd 配置覆盖。
如果您想列出 systemd 服务,请执行 'systemctl list-unit-files'。
欲查看对特定 target 启用的服务请执行
'systemctl list-dependencies [target]'。

mysql 0:关 1:关 2:开 3:开 4:开 5:开 6:关

五、设置数据库

1. 设置初始root密码

如果安装后已经自动执行过数据库的初始化,则数据库会自动产生一个随机初始密码,在/root/.mysql_secret文件中

[root@localhost ~]# vi /root/.mysql_secret
 # The random password set for the root user at Wed Apr 12 11:19:38 2017 (local time): MDDQ6OL_QHtfnw3x

以上代表初始的root密码是MDDQ6OL_QHtfnw3x。

如果未进行过数据库初始化,则不会产生/root/.mysql_secret文件,此时root的密码为空密码。

2. 登陆数据库

[root@localhost ~]# mysql -uroot -p

Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.35 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, 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>

3. 设置密码

将root的密码设为"H9000root",并使其他主机可以远程访问这台数据库:

mysql> set password for root@localhost= password("H9000root");

Query OK, 0 rows affected (0.00 sec)

mysql> grant all privileges on *.* to root@'%' identified by 'H9000root' with grant option;

Query OK, 0 rows affected (0.00 sec)

至此,安装完成。

你可能感兴趣的:(CentOS 7下MySQL 5.6rpm包的安装)