Mysql--sqlyog远程连接

2024-03-27 19:12

本文主要是介绍Mysql--sqlyog远程连接,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

下载安装MySQL

我们在MySQL官方网站中找到我们对应系统的MySQL安装包(如果需要别的安装包可以在下方网站内查找),这里我用redhat9作为演示

MySQL :: Download MySQL Community Server (Archived Versions)

这里我们选择第一个下载到我们主机

安装MySQL

下载完之后我们开启我们的虚拟机,使用xshell以及xftp上传我们下载的安装包,直接拖拽即可

然后我们在xshell中进行操作

下载过后发现这里是一个tar包(但是tar包并不是压缩文件),可以先查看是否有tar命令,如果没有可以直接使用yum命令下载。

[root@node1 mysql]# yum install tar

解开tar包

rpm包安装MySQL

这里我们不需要全部安装,只需要安装一部分足以让我们MySQL正常运行

common>libs>client>server

[root@node1 mysql]# rpm -ivh mysql-community-common-8.0.35-1.el9.x86_64.rpm [root@node1 mysql]# rpm -ivh mysql-community-client-plugins-8.0.35-1.el9.x86_64.rpm [root@node1 mysql]# rpm -ivh mysql-community-libs-8.0.35-1.el9.x86_64.rpm [root@node1 mysql]# rpm -ivh mysql-community-icu-data-files-8.0.35-1.el9.x86_64.rpm [root@node1 mysql]# rpm -ivh mysql-community-server-8.0.35-1.el9.x86_64.rpm [root@node1 mysql]# rpm -ivh mysql-community-client-8.0.35-1.el9.x86_64.rpm [root@node1 mysql]# rpm -ivh mysql-community-server-8.0.35-1.el9.x86_64.rpm 

开启MySQL服务,查看状态

[root@node1 mysql]# systemctl start mysqld
[root@node1 mysql]# systemctl status mysqld
● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor pres>Active: active (running) since Wed 2024-03-27 16:21:29 CST; 8s ago

登录MySQL

这时候登录MySQL是登录不了的,因为MySQL自身在日志内生成了一个随机密码,先获取密码再登录

[root@node1 mysql]# grep password /var/log/mysqld.log
2024-03-27T08:21:22.876557Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: ytx)US5:uwdj
[root@node1 mysql]# mysql -uroot -p
Enter password: 

修改密码

mysql> alter user root@localhost identified by 'Mysql@123';
Query OK, 0 rows affected (0.02 sec)

这时候我们尝试通过sqlyog进行远程登录操作

1130:Host ‘IP‘ is not allowed to connect to this MySQL server

这个问题是因为我们的登录MySQL的用户的权限只允许我们的localhost账户进行操作,所以需要修改权限。

mysql> select user,host,plugin from mysql.user;
+------------------+-----------+-----------------------+
| user             | host      | plugin                |
+------------------+-----------+-----------------------+
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session    | localhost | caching_sha2_password |
| mysql.sys        | localhost | caching_sha2_password |
| root             | localhost | caching_sha2_password |
+------------------+-----------+-----------------------+
4 rows in set (0.00 sec)mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
mysql> select user,host from user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+
4 rows in set (0.01 sec)#增加权限命令
mysql> update user set host='%' where user='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0mysql> flush privileges;  #刷新权限表
Query OK, 0 rows affected (0.01 sec)mysql> select user,host from user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| root             | %         |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
+------------------+-----------+
4 rows in set (0.00 sec)

现在我们root的host已经改变为%,可以允许ssh远程访问。再次尝试登录

2508报错

但是现在我们又报错2058

这个是因为我们密码的加密方式不被sqlyog所认同(sqlyog版本的问题),所以并不能进去。

mysql> select user,host,plugin from mysql.user;
+------------------+-----------+-----------------------+
| user             | host      | plugin                |
+------------------+-----------+-----------------------+
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session    | localhost | caching_sha2_password |
| mysql.sys        | localhost | caching_sha2_password |
| root             | %         | caching_sha2_password |
+------------------+-----------+-----------------------+
4 rows in set (0.00 sec)###改变MySQL加密方式alter user root@localhost identified with mysql_native_password by 'Mysql@123';
Query OK, 0 rows affected (0.00 sec)mysql> select user,host,plugin from mysql.user;
+------------------+-----------+-----------------------+
| user             | host      | plugin                |
+------------------+-----------+-----------------------+
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session    | localhost | caching_sha2_password |
| mysql.sys        | localhost | caching_sha2_password |
| root             | localhost | mysql_native_password |
+------------------+-----------+-----------------------+
4 rows in set (0.00 sec)

现在再次访问,就可以从sqlyog访问MySQL

这篇关于Mysql--sqlyog远程连接的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/853106

相关文章

SQL中JOIN操作的条件使用总结与实践

《SQL中JOIN操作的条件使用总结与实践》在SQL查询中,JOIN操作是多表关联的核心工具,本文将从原理,场景和最佳实践三个方面总结JOIN条件的使用规则,希望可以帮助开发者精准控制查询逻辑... 目录一、ON与WHERE的本质区别二、场景化条件使用规则三、最佳实践建议1.优先使用ON条件2.WHERE用

MySQL存储过程之循环遍历查询的结果集详解

《MySQL存储过程之循环遍历查询的结果集详解》:本文主要介绍MySQL存储过程之循环遍历查询的结果集,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言1. 表结构2. 存储过程3. 关于存储过程的SQL补充总结前言近来碰到这样一个问题:在生产上导入的数据发现

MySQL 衍生表(Derived Tables)的使用

《MySQL衍生表(DerivedTables)的使用》本文主要介绍了MySQL衍生表(DerivedTables)的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学... 目录一、衍生表简介1.1 衍生表基本用法1.2 自定义列名1.3 衍生表的局限在SQL的查询语句select

MySQL 横向衍生表(Lateral Derived Tables)的实现

《MySQL横向衍生表(LateralDerivedTables)的实现》横向衍生表适用于在需要通过子查询获取中间结果集的场景,相对于普通衍生表,横向衍生表可以引用在其之前出现过的表名,本文就来... 目录一、横向衍生表用法示例1.1 用法示例1.2 使用建议前面我们介绍过mysql中的衍生表(From子句

六个案例搞懂mysql间隙锁

《六个案例搞懂mysql间隙锁》MySQL中的间隙是指索引中两个索引键之间的空间,间隙锁用于防止范围查询期间的幻读,本文主要介绍了六个案例搞懂mysql间隙锁,具有一定的参考价值,感兴趣的可以了解一下... 目录概念解释间隙锁详解间隙锁触发条件间隙锁加锁规则案例演示案例一:唯一索引等值锁定存在的数据案例二:

MySQL JSON 查询中的对象与数组技巧及查询示例

《MySQLJSON查询中的对象与数组技巧及查询示例》MySQL中JSON对象和JSON数组查询的详细介绍及带有WHERE条件的查询示例,本文给大家介绍的非常详细,mysqljson查询示例相关知... 目录jsON 对象查询1. JSON_CONTAINS2. JSON_EXTRACT3. JSON_TA

MySQL 设置AUTO_INCREMENT 无效的问题解决

《MySQL设置AUTO_INCREMENT无效的问题解决》本文主要介绍了MySQL设置AUTO_INCREMENT无效的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录快速设置mysql的auto_increment参数一、修改 AUTO_INCREMENT 的值。

MYSQL查询结果实现发送给客户端

《MYSQL查询结果实现发送给客户端》:本文主要介绍MYSQL查询结果实现发送给客户端方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql取数据和发数据的流程(边读边发)Sending to clientSending DataLRU(Least Rec

MySQL分区表的具体使用

《MySQL分区表的具体使用》MySQL分区表通过规则将数据分至不同物理存储,提升管理与查询效率,本文主要介绍了MySQL分区表的具体使用,具有一定的参考价值,感兴趣的可以了解一下... 目录一、分区的类型1. Range partition(范围分区)2. List partition(列表分区)3. H

MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)

《MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)》掌握多表联查(INNERJOIN,LEFTJOIN,RIGHTJOIN,FULLJOIN)和子查询(标量、列、行、表子查询、相关/非相关、... 目录第一部分:多表联查 (JOIN Operations)1. 连接的类型 (JOIN Types)