CC BY 4.0 (除特别声明或转载文章外)
如果这篇博客帮助到你,可以请我喝一杯咖啡~
安装 MySQL
首先,是确认自己的 ubuntu 的版本:
cat /proc/version
然后去官网根据自己版本下载相应版本(注,一定要选对版本),我选择的是Ubuntu 16.04版本对应的MySQL。
然后可以使用 wget 命令下载至目录下:
cd ~ && mkdir mysql && cd mysql
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-server_8.0.20-1ubuntu16.04_amd64.deb-bundle.tar
然后解压:
tar -xvf mysql-server_8.0.20-1ubuntu16.04_amd64.deb-bundle.tar
所要安装的文件如下:
然后安装的顺序为,参考这个,安装过程可能会有错,仔细阅读它的出错提示,按要求继续。
总之就是先安装common,然后 client,最后server。
dpkg -i mysql-common_5.7.20-1ubuntu14.04_amd64.deb
dpkg -i mysql-community-client_5.7.20-1ubuntu14.04_amd64.deb
dpkg -i mysql-client_5.7.20-1ubuntu14.04_amd64.deb
apt-get install libmecab2
dpkg -i mysql-community-server_5.7.20-1ubuntu14.04_amd64.deb
安装完成可以通过 ps -aux | grep mysql
查看是否正常运行 MySQL 。
开启远程访问服务
首先,进入 MySQL 并进入 mysql
数据库
mysql -u root -p
use mysql;
查询一下当前的用户和开放情况:
select host,user from mysql.user;
然后设置一个对外开发的用户:(以下命令对应MySQL版本为Server version: 8.0.20 MySQL Community Server - GPL)% 表示对所有主机均可访问。
CREATE USER '用户名'@'%' IDENTIFIED BY '密码';
GRANT ALL ON *.* TO '用户名'@'%';
ALTER USER '用户名'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
FLUSH PRIVILEGES;
然后重新开启MySQL的服务:
service mysql restart
然后看一下是否开启远程服务:MySQL默认端口为3306
netstat -an |grep 3306
红框部分如图所示,表示是对外开放,所有IP地址均可访问。
最后一步
这一步是在阿里云上需要操作的,需要把 3306 这个端口暴露出去,运行访问。
也是最重要的一步,阿里云的服务器设置了安全组规则来限制ecs服务器的ip,端口访问策略。因此需要修改。
登录阿里云=>控制台=>云服务器ECS=>网络和安全=>安全组
在入方向,点击配置规则可以看到下图,3306端口是访问服务器mysql的,没有的话就添加规则,端口范围选择 3306mysql,授权对象设置为0.0.0.0/0 允许所有ip访问。
最终就可以进行在本地远程访问数据库了:
mysql -h 主机公网IP -P 3306 -u root -p
大功告成!