使用MobaXterm远程连接Ubuntu系统安装MySQL并实现远程连接(保姆及教程)

我自己安装时找了好多个教程,拼拼凑凑才装好的,所以打算整理一下,分享出来,也给自己下次安装省点事

写在前面:

这是我安装的mysql版本和Ubuntu系统版本

1.更新列表

sudo apt-get update

2.安装mysql服务器

sudo apt install mysql-server

出现下面这个截图就安装好了

3.保护/自启动MySQL

数据库包安装完成后,mysql-secure-installation 实用程序将自动启动。但是,如果没有自动启动,可执行以下命令:(我没有自启动,就按照没有自启动的写教程了)

sudo mysql_secure_installation

通过上述命令,我们可以对数据库进行一些基本的配置,但我也不知道为啥我明明选的密码验证为low,最后显示是medium,而且其他教程说会出现输入密码的提示,我这里也没有。如下图所示

出现All done即完成。

4.确认一下数据库是否自启动

sudo systemctl mysql-server

有类似输出表示自启动成功 

另一个启动mysql的命令

sudo service mysql start

5.以root用户的身份登录数据库

此时默认root密码为空,访问服务器的用户将使用身份验证套接字 (auth_socket) 插件进行身份验证。auth_socket 的使用会阻碍服务器使用密码对用户进行身份验证。所以我们需要进行一下修改

sudo mysql

6.对root的加密方式进行修改

(1)查看root的plugin

use mysql #一定要有这句
select user,plugin from user;

我们需要把auth_socket改为caching_sha2_password

(2)修改root的加密方式

 update user set plugin= 'caching_sha2_password' where user= 'root';

修改完记得使用查看语句再查看一次root的加密方式。

需要注意:

密码加密方式 :
mysql_native_password 是 mysql5.7版本的加密方式
caching_sha2_password 是 mysql8.0版本的加密方式

有些教程会让把root的加密方式改为mysql_native_password,建议就是先查看一下,看看其他的user是什么方式,把root改成一样的就好。

(3)刷新一下,是配置生效

flush privileges;

要记得这个语句(很多mysql的设置语句)必须出现在mysql>的第一行,不可出现再第二行及之后,如下图所示位置。

7.修改root用户登录密码

如果有问题的同学可以参考这两篇文章进行解决

ALTER USER ‘root‘@‘localhost‘ IDENTIFIED WITH mysql_native_password BY ‘123456‘;记录_alter user root@localhost-CSDN博客

MySQL修改密码时,报错ERROR 1064 (42000)【新版MySQL修改密码命令有所变更】_error 1064 (42000):-CSDN博客

 正确的写法:(我的截图有一部分写成了mysql_native_password,大家记得改过来,和自己的保持一致)

ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '123456';

如果和我一样出现上述问题,就是我们密码验证策略出现了问题,可以参考这篇文章解决解决ERROR 1819 (HY000): Your password does not satisfy the current policy requirements - 慕尘 - 博客园 (cnblogs.com)

(1)查看当前状态下的密码验证策略

SHOW VARIABLES LIKE 'validate_password%';

(这个是在mysql环境中运行的)

(2)修改密码验证策略

set global validate_password.policy=0

 

注意:validate_password.policy要与自己的策略名相同

修改后记得刷新并查看是否修改过来

(3)再次执行修改密码命令

会发现修改成功!而后记得刷新!

8.以root用户身份使用密码登录

mysql -u root -p

即可登陆成功!

9.设置root用户可以远程登录(如果不需要远程登陆的到第七步就可以结束了)

可以参考这篇文章mysql 设置远程登录-CSDN博客

(1)查看root用户的host设置

select host,user for user;

 (2)设置root不仅可以被本地连接还可以被远程连接

update user set host = '%' where user = 'root';

(3)重新查看root用户的host设置

(4)编辑MySQL配置文件:

一定要记得配置文件中有这句话,这将使MySQL监听所有网络接口,而不仅仅是本地。

我的文件是 /etc/mysql/mysql.conf.d/mysqld.cnf

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

(5)重启MySQL 

(6)为root远程连接设置密码(因为之前只设置了本地的密码)

ALTER USER 'root'@'%' IDENTIFIED WITH caching_sha2_password BY '123456';

然后记得刷新!

这是为用户授权

Grant all privileges on *.* to 'root'@'%' with grant option;  //这里的'XXX'为用户名

然后我们的数据库就可以实现远程连接了。

  • 18
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值