首页 > 数据库 >Ubuntu下开启MySQL远程连接权限

Ubuntu下开启MySQL远程连接权限

时间:2023-05-12 13:46:21浏览次数:36  
标签:权限 MySQL Ubuntu user mysql password root localhost

一、将用户的访问地址改为%

  1. 打开终端登录mysql数据库:
    mysql -u root -p
  2. 查看user表
    mysql> use mysql;
    Database changeed
    mysql>select host, user, authentication_string from user;

注意此处网上很多教程写的是password,那是老版的了,现在的MySQL的mysql数据库的user表中已经没有password字段了,而是换成了authentication_string

±----------±-----------------±------------------------------------------+
| host | user | authentication_string |
±----------±-----------------±------------------------------------------+
| localhost | root | ********************************** |
| localhost | mysql.session | ********************************** |
| localhost | mysql.sys | ********************************** |
| localhost | debian-sys-maint | *********************************** |
±----------±-----------------±------------------------------------------+
4 rows in set (0.00 sec)

  1. mysql> update user set host = '%' where user = 'root'

二、注释bind-address = 127.0.0.1

在Ubuntu系统中,MySQL默认只能本地访问,不能远程访问,因为访问地址被绑定死了为本地127.0.0.1,想要远程访问的话,需要去/etc/mysql/mysql.conf.d中找到bind-address = 127.0.0.1,然后注释掉这一句,也就是在这句前面加上#号。

然后重启MySQL就可以了。
重启命令为:service mysql restart

 

 

 

二、开始修改配置:
1,登进MySQL之后,

2,输入以下语句,进入mysql库:

use mysql
3,更新域属性,'%'表示允许外部访问:

update user set host='%' where user ='root';
4,执行以上语句之后再执行:

FLUSH PRIVILEGES;
5,再执行授权语句:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
然后外部就可以通过账户密码访问了。

6,其它说明:

FLUSH PRIVILEGES; 命令本质上的作用是:

将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。

MySQL用户数据和权限有修改后,希望在"不重启MySQL服务"的情况下直接生效,那么就需要执行这个命令。

通常是在修改ROOT帐号的设置后,怕重启后无法再登录进来,那么直接flush之后就可以看权限设置是否生效。

而不必冒太大风险。

三、可能存在的其它问题:
执行完之后,再用Navicat连接mysql,报错如下:

Client does not support authentication protocol requested by server;
报错原因:

mysql8.0 引入了新特性 caching_sha2_password;这种密码加密方式Navicat 12以下客户端不支持;

Navicat 12以下客户端支持的是mysql_native_password 这种加密方式;

解决方案:

1,用如下语句查看MySQL当前加密方式

select host,user,plugin from user;
查询结果

+-----------+------------------+-----------------------+
| host | user | plugin |
+-----------+------------------+-----------------------+
| % | root | caching_sha2_password |
| localhost | mysql.infoschema | mysql_native_password |
| localhost | mysql.session | mysql_native_password |
| localhost | mysql.sys | mysql_native_password |
+-----------+------------------+-----------------------+
看第一行,root加密方式为caching_sha2_password。

2,使用命令将他修改成mysql_native_password加密模式:

update user set plugin='mysql_native_password' where user='root';
再次连接的时候,就成功了。

标签:权限,MySQL,Ubuntu,user,mysql,password,root,localhost
From: https://www.cnblogs.com/websec80/p/17393861.html

相关文章

  • MySQL之redo日志
    一、redo日志简介在事务的实现机制上,MySQL采用的WAL(Write-aheadlogging,预写式日志)机制来实现的,所有的修改都先被写入到日志中,然后再被应用到系统中,通常包含redo和undo两部分信息。redolog称为重做日志,每当有操作时,在数据变更之前将操作写入redolog,这样当发生掉电之类的情况时系......
  • ubuntu 中解决目录名称过长的问题
     ubuntu中默认进入目录后默认显示的路径是完整路径。 01,将其设置为最终的路径:basename(base)root@DESKTOP-IDT9S0E:~#cp~/.bashrc~/.bashrc.bak##避免意外,备份配置文件(base)root@DESKTOP-IDT9S0E:~#vim~/.bashrc##修改配置文件 将~/.ba......
  • MySQL忘记密码
    如下1、先停止服务servicemysqldstop停止2、修改配置linux修改命令:vi/etc/my.cnfwindows系统是my.ini文件手动添加在文件最后加上:skip-grant-tables3、重启服务servicemysqldstart启动4、输入命令:mysql,回车,进入mysql执行窗口,或者输入:mysql-uroot-p,......
  • Ubuntu 20.04 实时查看GPU使用情况
    使用两种方法,实时查看GPU使用情况1.nvidia-smi使用终端命令nvidia-smi查看显卡信息如果你想实时检测显卡使用情况,添加watch-n即可watch-n4nvidia-smi其中,4是指4秒刷新一次终端,可以根据自己的需求设置2.gpustat安装过程很简单,直接pip即可(本人是这样)使用g......
  • Linux驱动开发笔记(三):基于ubuntu的helloworld驱动源码编写、makefile编写以及驱动编译
    前言  前面学习了驱动的基础框架,上一篇编译了gcc7.3.0,那么为了方便很好的熟悉流程,本篇,将使用ubuntu18.04,直接编译ubuntu18.04的驱动,然后做好本篇文章的相关实战测试。 Ubuntu虚拟机准备步骤一:安装虚拟机  本次使用之前rk3568的ubuntu18.04,笔者没有重新弄了,安装......
  • ubuntu设置定时任务
    一.将ubuntu默认编辑器设置为vimubuntu默认的nano编辑器用不习惯,先将默认编辑器设置为vim有2种方式:1.在终端输入以下命令:sudoupdate-alternatives--configeditor#选择编号3*3/usr/bin/vim.basic30manualmode2.添加环境变量echo'expo......
  • mysql主从复制(gtid模式)修改主库ip
    环境:OS:Centos7DB:mysql5.7.29 基于GTID复制的主从环境,主库修改了ip后,修改从库同步信息(不需要指定master_log_file和master_log_pos)1.停掉从库stopslave; 2.查看从库状态mysql>showslavestatus\G;***************************1.row*********************......
  • 常用mysql语句.md
    0.背景记录下常用的Mysql语句,持续更新,方便复制。1.实例--查看建表语句showcreatetablevar1;--查看表中的字段信息showfullcolumnsfromvar1;--查看那些表里有batch_id这个字段selecttable_schema,table_namefrominformation_schema.columnswherecolumn_n......
  • MySQL好玩新特性:离线模式
    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。作者:Yejinrong/叶金荣文章来源:GreatSQL社区原创继续吹MySQL8.0~在以前,当需要对MySQL数据库进行维护操作时,通常需要先进行主从切换,然后修改设置并......
  • liunx安装mysql的启动,查看状态命令
    找到mysql.server文件复制mysql.server文件到/etc/init.d/目录下,重命名为mysql查看mysqldstatus状态   使用命令1:servicemysqlstatus 命令1:servicemysqlstatusSUCCESS!MySQLrunning(9954) 命令2:systemctlstatusmysqld●mysqld.service-LSB:sta......