>[warning] 实验环境:
> * 集群机器:完全分布式-集群3(113的机器)
> * 操作系统:Centos 7.2
> * 安装版本:mysql-5.6.38-linux-glibc2.12-x86\_64.tar.gz
> * 说明:Linux下MySQL5.6与MySQL5.7安装方法略有不一样,本次安装MySQL5.6
Centos7将默认数据库mysql替换成了Mariadb,对于我们这些还想使用mysql的开发人员来说并不是一个好消息,我们在安装MySQL的时候先把Mariadb删除和把系统原来的老版本MySQL删除,如果没有则忽略。
>[info] (1)卸载系统自带的Mariadb
```
# 1.查询出来已安装的mariadb
rpm -qa|grep mariadb
# 2.卸载mariadb,文件名为上述命令查询出来的文件
rpm -e --nodeps 文件名
```
>[info] (2)查看并删除老版本MySQL
```
# 1.查找MySQL相关的文件
find / -name mysql
# 2.删除以上查询出来的文件
rm -rf 文件路径
```
:-: ![](https://img.kancloud.cn/f3/dc/f3dc6ff033b39f47b547aacb7c3e5aaf_1500x822.png)
>[info] (3)删除etc目录下的my.cnf
```
rm /etc/my.cnf
```
:-: ![](https://img.kancloud.cn/5e/57/5e57da05e92201a30cb94a33d3f62dd5_1512x256.png)
>[info] (4)添加mysql用户组和mysql用户(若存在用户则此步骤忽略)
```
# 1.先检查是否有mysql用户组和mysql用户
groups mysql
```
![](https://img.kancloud.cn/ea/03/ea0341a9de78ad0ba48bccc211b4fcf9_1504x310.png)
```
以下截图代表没有MySQL用户:
```
![](images/screenshot_1588816100374.png)![](https://img.kancloud.cn/92/d7/92d781ec0674ac353be2ee0b73c8336f_283x39.png)
```
# 2.若有则忽略,若无则添加
# 2.1创建mysql用户组
groupadd mysql
# 2.2创建一个用户名为mysql的用户并加入mysql用户组
useradd -r -g mysql mysql
```
>[info] (5)将MySQL的压缩包解压到 /usr/local/ 目录下,并重命名为:mysql
```
# 1.进入 /data/software
cd /data/software
# 2.解压 mysql-5.6.38-linux-glibc2.12-x86_64.tar.gz 到 /usr/local
tar -zxvf mysql-5.6.38-linux-glibc2.12-x86_64.tar.gz -C /usr/local
# 3.进入/usr/local
cd /usr/local
# 4.重命名 mysql-5.6.38-linux-glibc2.12-x86_64 为:mysql
mv mysql-5.6.38-linux-glibc2.12-x86_64 mysql
```
:-: ![](https://img.kancloud.cn/91/f7/91f7aae2e4a7fb58c5329f176ca59a68_1512x188.png)
>[info] (6)拷贝一份my.cnf配置文件到 /etc下
```
# 1.进入模板文件目录
cd /usr/local/mysql/support-files
# 2.拷贝模板文件:my-default.cnf 到 /etc下,并修改名称为:my.cnf
cp my-default.cnf /etc/my.cnf
```
:-: ![](https://img.kancloud.cn/bf/13/bf1327e4db1ae31dd201d1b6066b1394_1498x122.png)
```
# 3.编辑/etc/my.cnf 配置文件
vi /etc/my.cnf
# 4.增加以下 [mysql] 和 [mysqld] 的配置
```
```
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysqld]
skip-name-resolve
#设置3306端口
port = 3306
socket=/var/lib/mysql/mysql.sock
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_name=1
max_allowed_packet=16M
```
:-: ![](https://img.kancloud.cn/68/6f/686fb0af739478c2be2c53a9364764b9_1504x794.png)
>[info] (7)安装MySQL数据库
```
# 1.进入/usr/local/mysql
cd /usr/local/mysql
# 2.修改当前目录拥有着为mysql用户
chown -R mysql:mysql ./
# 3.安装MySQL数据库
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
```
:-: ![](https://img.kancloud.cn/40/87/408714dd8bcd99b4dd29ee9ce486b027_1604x1324.png)
>[success] **到此数据库安装完毕,下面开始配置MySQL**
>[info] (1)授予my.cnf最大权限
```
chown 777 /etc/my.cnf
```
>[info] (2)创建 /var/lib/mysql 目录
```
# 1.创建mysql目录
mkdir /var/lib/mysql
# 2.赋权限
chmod 777 /var/lib/mysql
```
>[info] (3)设置开机自启动服务控制脚本
```
# 1.进入/usr/local/mysql
cd /usr/local/mysql
# 2.复制启动脚本到资源目录
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
# 3.将mysqld服务加入到系统服务
chkconfig --add mysqld
# 4.检查mysqld服务是否已经生效
chkconfig --list mysqld
```
:-: ![](https://img.kancloud.cn/65/d7/65d76fc452dcdc3838dc69e3a05821c8_1596x742.png)
>[info] (4)MySQL数据库启动和关停
```
# 1.数据库启动
service mysqld start
# 2.数据库关停
service mysqld stop
# 3.查看数据库端口是否正常
ss -antlp | grep 3306
```
>[info] (5)将mysql的bin目录加入PATH环境变量,编辑 ~/.bash\_profile文件
```
# 1.打开编辑文件
vi ~/.bash_profile
# 2.在文件最后添加如下信息
export PATH=$PATH:/usr/local/mysql/bin
# 3.刷新一下文件
source ~/.bash_profile
```
>[info] (6)初始化登录mysql是没有密码的,需要自己设置,统一设置root密码为:123456
```
# 1.登录MySQL
mysql -uroot -p
```
:-: ![](https://img.kancloud.cn/76/b6/76b6296c383695b0c22bbdf9d9f8b559_1604x654.png)
```
# 2.修改root密码
# 2.1.使用mysql数据库
use mysql;
# 2.2.修改root密码为:123456
update user set password=password('123456') where user='root' and host='localhost';
# 2.3.刷新一下权限
flush privileges;
```
:-: ![](https://img.kancloud.cn/71/e7/71e7847c611cb47637cd49a676212ea6_1594x854.png)
>[info] (7)设置远程主机登录
```
# 1.设置root用户可以远程登录
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';
# 2.刷新权限
flush privileges;
```
>[success] **到此MySQL数据库配置完毕!**
>[info] (1)创建数据库:hadoop
```
# 1.创建数据库
create database hadoop;
```
![](https://img.kancloud.cn/7e/12/7e120a87d3512cd44d1b7a7b9c7df5a0_1600x148.png)
>[info] (2)在自己电脑使用dbeaver工具连接MySQL数据库
:-: ![](https://img.kancloud.cn/e3/4f/e34f5a44624ff06fcdb064d897206e4e_1238x1190.png)
>[info] (3)在dbeaver中对hadoop数据库创建一张表
:-: ![](https://img.kancloud.cn/0e/37/0e37e4375a8cc80cddc69abe5a7dcd17_2084x1300.png)
```
CREATE TABLE `student` (
`id` bigint NOT NULL COMMENT 'id',
`name` varchar(50) DEFAULT NULL COMMENT '名称',
`num` varchar(50) DEFAULT NULL COMMENT '学号',
`class` varchar(50) DEFAULT NULL COMMENT '班级',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
```
![](https://img.kancloud.cn/50/1d/501d668682ece0d8ee79bd0fdb6d7736_2092x1300.png)![](https://img.kancloud.cn/f5/47/f54784b40a81a9ade59339c4519ab744_2086x1300.png)
![](https://img.kancloud.cn/f5/47/f54784b40a81a9ade59339c4519ab744_2086x1300.png)
>[info] (4)在student表增加一条数据
:-: ![](https://img.kancloud.cn/b5/9b/b59b1c806f2a47007fddeb17db7fca91_2092x1294.png)![](https://img.kancloud.cn/84/33/8433d6df144690b367e953f7785f595f_2096x1300.png)
:-: ![](https://img.kancloud.cn/84/33/8433d6df144690b367e953f7785f595f_2096x1300.png)
>[danger] MySQL安装常见错误
```
问题1:Starting MySQL.180830 17:46:35 mysqld_safe Directory '/var/lib/mysql' for UNIX socket file don't exists.
```
```
要创建/var/lib/mysql目录
mkdir /var/lib/mysql
chmod 777 /var/lib/mysql
```
```
问题2:Starting MySQL...The server quit without updating PID file [FAILED]cal/mysql/data/liuyw.pid).
```
```
重新复制一份新的my.cnf配置文件
cp my-default.cnf /etc/my.cnf
```
```
问题3:ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
```
```
查看MySQL是否已经启动
ss -antlp | grep 3306
```