详细步骤:

1. 安装mysql

首先,在ubuntu上安装mysql,打开终端,并执行以下命令:

1 sudo apt-get update
2 sudo apt-get install mysql-server

2. 登录 MySQL

首先,使用 MySQL 的 root 用户登录到 MySQL 服务器:

sudo mysql -u root -p

系统会提示你输入 root 用户的密码。默认是空,直接回车即可;

3. 创建数据库用户

 假设创建一个名为 shaun 的用户,并设置密码为 shaun001
1 CREATE USER 'shaun'@'%' IDENTIFIED BY 'shaun001';
2 GRANT ALL PRIVILEGES ON *.* TO 'shaun'@'%';
3 FLUSH PRIVILEGES;

这里要注意:第一行代码中,'%'  标识允许任何ip访问,如果要限制ip,可以改为

CREATE USER 'shaun'@'192.168.1.100' IDENTIFIED BY 'shaun001';   //只允许192.168.1.100 的ip 以shaun访问

或者
CREATE USER 'shaun'@'localhost' IDENTIFIED BY 'shaun001'; //只允许localhost 的域名以shaun访问

第二行代码 *.* 意为所有数据库,可以改为  GRANT ALL PRIVILEGES ON database_name.* TO 'shaun'@'%';

如果已经存在一个 'shaun'@'localhost' ,可以通过以下代码更改权限:

1 RENAME USER 'shaun'@'localhost' TO 'shaun'@'%';
2 GRANT ALL PRIVILEGES ON *.* TO 'shaun'@'%';
3 FLUSH PRIVILEGES;

第三行代码含义是刷新权限表,从而实现立刻生效

4. 配置mysql 绑定地址

默认情况下,MySQL 只监听本地连接。要允许远程访问,需要修改 MySQL 配置文件:

  1. 打开 MySQL 配置文件(通常位于 /etc/mysql/mysql.conf.d/mysqld.cnf 或 /etc/my.cnf):

    1 sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
  2. 找到 bind-address 这一行,将其值从 127.0.0.1 改为 0.0.0.0(允许所有 IP 访问)或特定的 IP 地址:
     bind-address = 0.0.0.0
  3. 保存文件:按 Ctrl + O(字母“O”,不是数字零)。这将提示您确认文件名,按下 Enter键保存。
    退出 nano:按 Ctrl + X 进行退出。
  4. 重启mysql服务器以使更改生效:
    1 sudo systemctl restart mysql

5. 防火墙配置

  如果服务器启用了防火墙(如 ufw),需要允许 MySQL 的默认端口(3306)的访问:  

1 sudo ufw allow 3306/tcp

6. 测试远程连接  

1 mysql -h 192.168.1.100 -u shaun -p

  输入shaun 对应的密码,确认即可,根据结果提示,看是否成功

7. 撤销权限(如果需要)  

1 REVOKE ALL PRIVILEGES ON *.* FROM 'shaun'@'%';
2 FLUSH PRIVILEGES;

这将移除用户 shaun 对所有数据库的所有权限。

ubuntu mysql 通过ip登录指南的更多相关文章

  1. ubuntu mysql 更改IP导致mysql无法启动

    bind-address = 127.0.0.1 => bind-address= 136.129.20.168 IP要这么改 这么改远程连不上,那么需要把这行整行注释掉,重启MYSQL,tel ...

  2. Ubuntu mysql开启远程登录的方法

    一.问题 Ubuntu  16.0.4   mysql5.7 二.解决问题 Ubuntu中MySQL的配置文件是在/etc/mysql/mysql.conf.d/mysqld.cnf,VI该文件把 b ...

  3. 解决Ubuntu MySQL服务无法远程登录

    一.10061错误 Ubuntu安装MySQL . sudo apt-get install mysql-server . apt-get isntall mysql-client . sudo ap ...

  4. Ubuntu Mysql开通外网访问权限

    Ubuntu Mysql开通外网访问权限   1.编辑 my.cnf 文件: sudo vi /etc/mysql/my.cnf   2.将绑定地址行注释掉或者修改为指定 IP #bind-addre ...

  5. MySQL命令行登录的例子

    环境:MySQL Sever 5.1 + MySQL命令行工具 问题:MySQL命令行登录 解决: 命令 行登录语法: mysql –u用户名 [–h主机名或者IP地址] –p密码 说明:用户名是你登 ...

  6. 部署测试环境(ubuntu+mysql+tomcat)

    背景:入职新公司,广州这边没有测试开发环境,需要自己搭建一个:要求ubuntu+mysql+tomcat有具体版本要求:   2015/4/13 下载Ubuntu12.04 http://mirror ...

  7. MySQL开放远程登录

    在服务器上部署MYSQL每次观看MYSQL记录或者修改的时候都需要登录服务器,又烦又占资源.所以使用另一种方法:对外开放接口. 注:如果某些服务器开启防火墙屏蔽了某些接口就有可能导致远程用户无法登录M ...

  8. Ubuntu mysql连接错误10060/10061的方法

    mysql 10060错误一般因为防火墙 ufw allow 3306; //允许外部访问3306端口ufw allow from 192.168.1.115;  //允许此IP访问所有的本机端口uf ...

  9. ubuntu mysql主从库的搭建

    1,首先我们要确定一个从库一个主库,紧记从库只能读取不能有其他的操作,如果操作写那主从就失效了,那就看看我们这么搭建主从吧! 2. 环境:Ubuntu,Mysql (主从的数据库版本必须保持一致) 主 ...

  10. mysql配置远程登录

    1.vim /etc/my.cnf注释这一行:bind-address=127.0.0.1 ==> #bind-address=127.0.0.1 2.重启服务:sudo service mys ...

随机推荐

  1. J2eefast页面调试状态下自动进入debugger断点

    将fastJS.min.js 替换为 fastJs.js 将所使用到的模块的min.js 替换为js文件

  2. Nuxt.js 应用中的 vite:configResolved 事件钩子

    title: Nuxt.js 应用中的 vite:configResolved 事件钩子 date: 2024/11/17 updated: 2024/11/17 author: cmdragon e ...

  3. element 动态合并表格---进阶版

    错误展示 正确展示 如果使用上次博客写的element 动态合并表格那么会出现上述图片情况,所以对其进行完善实现下图(正确展示)情况 处理函数 mergeTableRow(data, merge) { ...

  4. C#-JavaScript-base64加密解码

    C# //base64加密 //调用方式:Helper.EncodeToBase64(需要加密字符串) public static string EncodeToBase64(string data) ...

  5. Java 编程的动态性,第 1 部分: 类和类装入

    研究类以及 JVM 装入类时所发生的情况 这一有关 Java 编程动态方面的新的系列文章研究了执行 Java 应用程序时幕后所发生的事情.企业 Java专家 Dennis Sosnoski 提供了 J ...

  6. canvas(四)绘制曲线

    1.绘制圆弧轨迹 相关语法:ctx.arc(x,y,r,startRadian,endRadian,direction),前5个参数必填: 参数 说明 x 圆心x轴坐标 y 圆心y轴坐标 r 半径大小 ...

  7. Shape文件格式

    Shape文件格式 一个ESRI的shapefile数据包含一个主文件(.shp),一个索引文件(.shx)和一个dBASE(.dbf)表.主文件是直接访问的,变长记录的文件,每一条记录都描述一个形状 ...

  8. Element Plus组件库el-table单元格内容超出时tooltip显示优化

    前情 公司有经常需要做一些后台管理页面,我们选择了Element Plus,它是基于 Vue 3,面向设计师和开发者的组件库,是Vue框架生态中比较火的UI组件库,组件库丰富易用,组件链接:一个 Vu ...

  9. QT日志类SimpleQtLogger的简单记录

    在现代软件开发中,日志记录是必不可少的部分.它不仅帮助开发者在调试和维护软件时了解程序的运行状态,还能提供关键的错误信息.对于使用Qt框架开发应用程序的开发者来说,选择一个合适的日志库至关重要.本文将 ...

  10. NVM管理多个Node版本

    ​在项目中,我们常常会遇到node版本问题的一些报错,像是vue 3需要node10以上版本,不同的 node-sass 版本需要安装不同的 node.js 版本,为了统一管理node版本,我们需要用 ...