【阿里云】在云服务器ECS 安装MySQL、本地远程连接或宝塔连接(手动部署)

目录

一、安装MySQL

二、配置MySQL

三、远程访问MySQL数据库

四、Navicat本地连接远程MySQL

五、宝塔连接MySQL


如果你是使用宝塔安装的MySQL请绕过,以下是通过命令行模式(手动部署)进行安装、配置及运行。

安装:MySQL8.0 其他版本请参阅> MySQL :: MySQL Documentation

操作系统:CentOS 7.x

安全组放行:实例安全组入方向放行22、80、443、3306端口。

数据库连接工具:Navicat Premium

SSH连接工具:FinalShell

先来看看宝塔,未安装之前的界面

导出你本地的数据库表信息(备用)

右键选中本地数据库表 midway_db > 转储SQL文件 > 结构和数据 > 导出 midway_db.sql 文件

一、安装MySQL

1、通过SSH连接

这里使用FinalShell工具,该工具的安装和使用可以翻看我之前写的文章。

2、下载MySQL 8.0版本

复制代码
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm

3、安装MySQL

复制代码
sudo rpm -Uvh https://mirrors.aliyun.com/alinux/3/updates/x86_64/Packages/compat-openssl10-1.0.2o-4.0.1.al8.x86_64.rpm

4、查看MySQL版本号

复制代码
mysql -V

返回结果如下,表示MySQL安装成功。

复制代码
mysql  Ver 8.0.37 for Linux on x86_64 (MySQL Community Server - GPL)

二、配置MySQL

1、启动并设置开机自启动MySQL服务

复制代码
sudo systemctl start mysqld

sudo systemctl enable mysqld

2、获取并记录root用户的初始密码

复制代码
sudo grep 'temporary password' /var/log/mysqld.log

执行命令结果如下:

复制代码
2024-05-30T14:29:23.582517Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: M1c=K)Ethf_l

❓ 说明 示例末尾的 M1c=K)Ethf_l 为初始密码,后续在对MySQL进行安全性配置时,需要使用该初始密码。

3、对MySQL进行安全性配置

复制代码
sudo mysql_secure_installation

a. 根据提示信息,重置MySQL数据库root用户的密码

❓ 说明 在输入密码时,系统为了最大限度地保证数据安全,命令行将不做任何回显。您只需要输入正确的密码信息,然后按 Enter 键即可。

复制代码
Securing the MySQL server deployment.

Enter password for user root: #输入以获取的root用户初始密码

The existing password for the user account root has expired. Please set a new password.

New password: #输入新的MySQL密码

Re-enter new password:  #重复输入新的MySQL密码
The 'validate_password' component is installed on the server.
The subsequent steps will run with the existing configuration
of the component.
Using existing password for root.

Estimated strength of the password: 100 
Change the password for root ? ((Press y|Y for Yes, any other key for No) : Y #输入Y选择更新MySQL密码。您也可以输入N不再更新MySQL密码。

New password: #输入新的MySQL密码

Re-enter new password: #重复输入新的MySQL密码

Estimated strength of the password: 100 
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y #输入Y确认使用已设置的密码。

b. 根据提示信息,删除匿名用户

复制代码
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y  #输入Y删除MySQL默认的匿名用户。
Success.

c. 禁止root账号远程登录

复制代码
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y  #输入Y禁止root远程登录。
Success.

d. 删除test库以及对test库的访问权限

复制代码
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y  #输入Y删除test库以及对test库的访问权限。
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

e. 重新加载授权表

复制代码
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y  #输入Y重新加载授权表。
Success.

All done! 

三、远程访问MySQL数据库

建议您使用非root账号远程登录MySQL数据库。以下示例中,将创建新的MySQL账号,用于远程访问MySQL。

1、输入root用户的密码登录MySQL

复制代码
sudo mysql -uroot -p

2、依次运行以下命令,创建远程登录MySQL的账号,并允许远程主机使用该账号访问MySQL。

本示例账号为Vinca、密码为Ecs@123****。

❗ 重要 实际创建账号时,需将示例密码Ecs@123****更换为符合要求的密码,并妥善保存。密码要求:长度为8至30个字符,必须同时包含大小写英文字母、数字和特殊符号。可以使用以下特殊符号:

()` ~!@#$%^&*-+=|{}[]:;'<>,.?/

复制代码
#创建数据库用户Vinca,并授予远程连接权限。
create user 'Vinca'@'%' identified by 'Ecs@123****'; 

#为Vinca用户授权数据库所有权限。
grant all privileges on *.* to 'Vinca'@'%'; 

#刷新权限。
flush privileges; 

3、退出数据库

复制代码
exit

4、使用Vinca账号远程登录MySQL

您可以通过MySQL客户端远程登录MySQL进行测试。例如:MySQL Workbench、Navicat。

四、Navicat本地连接远程MySQL

a. 输入刚刚创建的非root账号进行远程连接MySQL

连接失败请查看ECS实例安全组是否放行对应端口号(如:3306);及系统防火墙,请参阅:http://t.csdnimg.cn/7w4wW

b.新建数据库

如果你不清楚字符集和排序规则,请参考你原先本地的数据库配置

c. 右键 midway_db 数据库,选择"运行SQL文件"

d. 选择最开始让你导出的 midway_db.sql 文件,点击开始

e. vinca_ecs数据库 右键刷新

midawy_db数据表 右键刷新

数据和结构就同步过去了。

五、宝塔连接MySQL

a. 输入刚刚创建的非root账号进行远程连接MySQL

b. 如果连接成功,如图示

c. 结合我们刚刚本地的Navicat添加了vinca_ecs数据库,我们这里就直接同步,不过多赘述。


相关推荐
暮云星影9 小时前
二、linux系统 应用开发:整体Pipeline流程
linux·arm开发
阿杰 AJie10 小时前
MySQL 里给表添加索引
数据库·mysql
weixin_4307509310 小时前
OpenMediaVault debian Linux安装配置企业私有网盘(三) 静态ip地址配置
linux·服务器·debian·nas·网络存储系统
4032407310 小时前
[Jetson/Ubuntu 22.04] 解决挂载 exFAT 硬盘报错 “unknown filesystem type“ 及只读权限问题的终极指南
linux·运维·ubuntu
Source.Liu10 小时前
【沟通协作软件】使用 Rufus 制作 Ubuntu 启动盘的详细过程
linux·ubuntu
Love丶伊卡洛斯10 小时前
Ubuntu 部署 STUN服务端
linux·运维·ubuntu
梁洪飞11 小时前
通过链接文件和Start.S学习armv7
linux·arm开发·嵌入式硬件·学习·arm
DN金猿11 小时前
使用ubuntu安装nginx时报错
linux·nginx·ubuntu
小赵还有头发11 小时前
安装Ceres与glog
linux·学习·无人机·ceres·glog
负二代0.012 小时前
Linux下的网络管理
linux·网络