云服务器安装Mysql8.0 远程连接及避坑

1. 前言

刚刚买了一个新的服务器,需要配置一下环境。因为最近也正好在鼓捣学习Linux,所以就没有用宝塔面板,使用原生的方式进行安装。

首先说一下配置,我使用了Ubuntu20.0.4系统。

2. 安装MySQL8.0

进行软件源更新

sudo apt-get update

这里sudo的可加可不加,因为一般云服务器都是以root用户登录的。如果你使用的是虚拟机或者Linux系统,一般是以普通用户登录,可以加上sudo

其他一些Linux发行版更新方法也是大同小异,CentOS会使用yumArch系列的会使用pacman

为了方便,我把其他一些Linux发行版更新软件源的方式也列举在这里。

CentOS

sudo yum update

Arch

sudo pacman -Syy

安装MySQL8.0

更新软件源后,默认下载的是最新版。

sudo apt-get install mysql-server

因为没有测试,我不确定其他版本是不是下载的最新版。

CentOS

sudo yum localinstall https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
sudo yum install mysql-community-server

Arch

sudo pacman -S mysql

还有另一种方式是通过官网下载tar.gz文件后缀的安装包,然后通过tar命令解压。但这种方式还需要设置软连接,略微的麻烦一点。所以这种方式不再详细说明,如果想通过这种方式安装的话,可以参考其他的一些博客,我看着讲的还是蛮详细的(只是我看不下去罢了)。

远程连接

连接本地数据库的话,如果在另一台电脑上工作就还需要将数据库信息重新导入一遍,很不方便。那么可以使用服务器上的数据库,可以保持多端共享数据库,也可以保证数据的一致性。

连接mysql

先在服务器上连接到mysql

mysql -uroot -p

显示Enter password 输入密码,如果没有设置过密码,可以直接按回车。

 

修改权限

以前修改权限只需要输入如下命令:

GRANTALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'YOUR_PASSWORD' WITH GRANT OPTION;

但是这次报了一个错误:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version 
for the right syntax to use near 'identifiedby '123456' with grant option' at line 1

大概意思是让检查Mysql Server的版本,Mysql8.0已经不支持这种写法了!!MySQL5.x可以继续使用这种方法来修改权限,下面给出Mysql8.0修改权限的方法。

首先创建一个用户:

CREATE USER 'username'@'%' IDENTIFIED BY 'password';
  • username是你创建用户的用户名
  • password是创建用户的 密码

然后授权

GRANT all ON *.* TO 'username'@'%'
  • username是刚刚创建的用户名

修改配置

退出mysql

按路径进入文件夹,修改文件:

cd /etc/mysql/mysql.conf.d
vim mysqld.cnf

bind-address修改为0.0.0.0

 保存退出 :wq

连接到Navicat

 做完上图的两个步骤之后,点击测试连接。连接成功,点击确定按钮即可。

 

原文地址:https://www.cnblogs.com/Gazikel/p/15083926.html