详细步骤:

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. 利用AI运动识别插件,可以实现那些应用场景?

    「Ai运动识别」小程序插件已经推出一年有余,迭代了近十几个版本,收获了各类应用场景的众多用户,今天我们就带您深度解析一下插件的各类可应用场景,帮助已集成开发者进行一步拓宽应用场景,帮助有需求的开发者快 ...

  2. RL 基础 | 如何复现 PPO,以及一些踩坑经历

    最近在复现 PPO 跑 MiniGrid,记录一下- 这里跑的环境是 Empty-5x5 和 8x8,都是简单环境,主要验证 PPO 实现是否正确. 01 Proximal policy Optimi ...

  3. vue 子组件data属性为啥必须是一个函数

    其实就是一个原因,实例化出来的根组件只有一个,你可以将它写成对象,或者是返回一个对象的函数.但是子组件不够健壮,容易在内存的地址中互相影响,就像我们常用的深浅拷贝所能解决的那样.所以为了防止意外的发生 ...

  4. 在matlab中使用遗传算法执行最优化

    遗传算法是一种通用的最优化方法,具体原理可以看:遗传算法详解与实验.下面记录在Matlab中如何使用遗传算法来做优化. 用法 调用方式如下: 1 x = ga(fun,nvars) 2 x = ga( ...

  5. 使用Apache的ab工具进行压力测试

    Apache附带的ab工具(本机使用的PHP环境是WAMP集成环境,ab工具位于D:\wamp\bin\apache\Apache2.2.21\bin)非常容易使用,ab可以直接在Web服务器本地发起 ...

  6. Centos7下的开机自启动

    记录服务器每次重启之后启动一些服务. systemd systemd简介 CentOS7已不再使用chkconfig管理启动项,而是使用systemd.关于systemd的衍生和发展,可以参见< ...

  7. PythonDay1Base

    PythonDay1Base 变量 即python运行过程中可以发生改变的量,如同数学中的未知数X,将一个确定的量赋值给变量. 变量定义原则 由英文大小写,数字以及下划线_组成 不能以数字开头 不能以 ...

  8. px2rem 实现vue rem 自适应/

    npm install postcss-px2rem px2rem-loader --save 新建js 文件rem.js // rem等比适配配置文件 // 基准大小 const baseSize ...

  9. 你真的懂System.out.println()吗?

    简介 众所周知,Java语言是面向对象的,那如果让你用一行代码体现出来呢? 如果你能自己读懂System.out.println(),就真正了解了Java面向对象编程的含义. 面向对象编程即创建了对象 ...

  10. ASP.NET Core: ConfigurationBuilder

    在 ASP.NET Core 中,大量使用了建造模式 Builer,从类型的名称就可以看出来这一点,例如 HostBuilder.ConfigurationBuilder 等等. 建造模式是对象的创建 ...