CentOS7.2 安装 MySQL

前言

安装的 MySQL 版本为 5.7.21

在 CentOS7.2 中安装 MySQL 是作为别的实验的基础。

比如将结果写入数据库和网站的搭建。

本文参照   centos7.2安装MySQL && CentOS 7 下 Yum 安装 MySQL 5.7结合实际环境进行相关操作

验证是否已经安装 MySQL

1
2
3
4
5
6
7
8
9
10
11
# 检查是否安装了mysql
rpm -qa | grep mysql

# 检查是否安装了mariadb
rpm -qa | grep mariadb

# 一般使用此命令即可卸载成功
rpm -e xxx

# 卸载不成功时使用此命令强制卸载)
rpm -e --nodeps xxx

安装 MySQL

1
2
3
4
5
6
7
8
# 下载 MySQL 源
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

# 安装 MySQL 源
yum -y install mysql57-community-release-el7-10.noarch.rpm

# 安装 MySQL
yum -y install mysql-community-server

重启 MySQL

1
2
# 重启 MySQL 服务
systemctl restart mysqld

生成临时密码

1
2
3
4
5
6
7
8
# 生成临时密码
grep "password" /var/log/mysqld.log

# 生成后的效果显示如下
2018-03-14T04:05:03.080507Z 1 [Note] A temporary password is generated for root@localhost: T<HTR#6Gngds

# 临时密码为
T<HTR#6Gngds

登陆 MySQL 和修改 root 用户密码

1
2
3
4
5
6
7
8
9
10
# 登陆 MySQL
mysql -uroot -p
Enter password: 上面生成的临时密码

# 修改 root 用户密码,新密码XXXXXXXXXX为8位以上包含大小写字母、数字和符号
mysql> alter user 'root'@'localhost' identified by 'XXXXXXXXXX';
Query OK, 0 rows affected (0.00 sec)

# 重新登陆 MySQL
mysql -uroot -pXXXXXXXXXX

允许远程访问

1
2
3
4
5
6
# 赋予 root 用户远程访问权限
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'XXXXXXXXXX' WITH GRANT OPTION;

# 防火墙配置
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload

配置默认编码为 utf8

1
2
3
4
5
vi /etc/my.cnf

# 在[mysqld]下添加如下键值对
character_set_server=utf8
init_connect='SET NAMES utf8'

重启 MySQL

1
2
#重启 MySQL 使配置生效
systemctl restart mysqld

扩展一

现在有一个实验需要将统计结果写入数据库中,所以数据库做以下操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 创建数据库 share_spark
create database share_spark;

# 使用数据库 share_spark
use share_spark;

# 新建一张表 wordcount
create table wordcount(
word varchar(50) default null,
wordcount int(10) default null
);

# 查看数据库中包含的表
mysql> show tables;
+-----------------------+
| Tables_in_share_spark |
+-----------------------+
| wordcount |
+-----------------------+
1 row in set (0.00 sec)

# 查看表 wordcount 的详情
mysql> select * from wordcount;
Empty set (0.02 sec)

//Demo 待上传

Demo

------ 本文结束------
如果对您有帮助的话请我喝瓶水吧!