阿里云ECS Unbuntu16.04搭建云mysql 5.7

一、简介:

  由于自己笔记本不好,不想每次本地安装mysql数据库,然后购买了云数据库,感觉还是挺不划算的,自己也用不到内存多大的数据库,于是想做一个第三方提供的一摸一样的云mysql数据库。为了写这篇文章,我专门重装了自己的阿里云ECS,第二次搭建了云数据库,如果觉得有用,还请点一个赞。最后我会将自己做好的云数据库提供到文章末尾,可以用workbench,或者navicat连接一下看看。

要求:

      阿里云学生ECS,Ubuntu 16.04, Xshell7(用阿里云网页终端,ssh都是可以的)

二、安装mysql 5.7:

  我全程采用root用户安装的。借鉴了这篇文章:阿里云 Ubuntu 14.04 安装mysql 5.6

1. 升级apt-get

sudo apt-get update

2. 安装 mysql-client-core-5.7

sudo apt-get install mysql-client-core-5.7

3.安装mysql-client-5.7

sudo apt-get install mysql-client-5.7

4. 安装 mysql-server-5.7

  这一步安全成功会要求设置密码:123456,后面会用到。

sudo apt-get install mysql-server-5.7

5. 修改默认编码为utf-8

  我在项目里面实现的时候发现没有设置会出现中文解析错误,这个时候需要在配置文件 /etc/mysql/my.cnf 中设置一下编码方式

vim /etc/mysql/my.cnf

  然后在文件中添加如下配置:

[client]
default-character-set = utf8

[mysqld]
character-set-server=utf8

  退出编辑后重启mysql:

service mysql restart

三、Mysql 服务远程访问

  上诉安装都是在本机服务器上进行,最后也只有本机能连接上mysql,没有绑定到服务器的ip上,这就需要修改配置和mysql用户设置。这部分我借鉴的文章是:Ubuntu安装MySQL和配置远程连接。

1:注释绑定127.0.0.1

  mysql 5.6的配置文件时:/etc/mysql/my.cnf,而5.7的配置文件是:/etc/mysql/mysql.conf.d/mysqld.cnf,需要注释掉本地服务器绑定。

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

如何使用ecs上的mysql ecs自建数据库_mysql

2. 授权非本机用户登陆数据库

  输入以下命令进入数据库客户端,需要输入密码:123456(这是我设置的)

mysql -u root -p

再mysql客户端下输入以下命令行:

# 指定root用户的Host字段为%
use mysql                                            # 切换到数据库mysql
select user,host from user;                          # 查询user表中数据
update user set host='%' where user='root';          # 修改root账号的host字段为:%
 
# 给任意主机root账户连接mysql服务器权限:
GRANT ALL PRIVILEGES ON *.*  TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
flush privileges;                                    # 刷新权限表,使配置生效

3. 重启mysql

  先(ctrl+z)退出mysql客户端,然后输入以下命令:

service mysql restart

四、阿里云对外开放3306 mysql监听端口

  需要从阿里云控制台上添加安全组规则去设置,可以看这篇文章:阿里云关闭防火墙端口不能外网访问,下图是我的配置:

如何使用ecs上的mysql ecs自建数据库_云数据库_02

 

五、大功告成,连接云mysql:

  密码是:123456,用的workbench 8.0连接的

如何使用ecs上的mysql ecs自建数据库_mysql_03