ubuntu mysql 通过ip登录指南

详细步骤:

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 quit;

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

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 对所有数据库的所有权限。

相关推荐
我不会起名字3226 分钟前
MySQL 8.0 迁移后 SQL 变慢:执行计划里 3 类被忽略的成本差异
mysql·explain·执行计划·索引下推·成本模型
Decay__7 小时前
05_MySQL 常用 SQL 大全 —— 诊断、管理、优化辅助 SQL 与三大系统库速查
运维·数据库·sql·mysql·架构
Decay__12 小时前
04_MySQL DBA 日常运维手册 —— 会话管理、锁与阻塞、事务监控、慢查询与日志巡检
运维·数据库·sql·mysql·架构
易点云徐源18 小时前
HP 暗影精灵 PRO 16 安装双系统后,开机直接进入 Windows,按 F9 才能进入 Ubuntu:GRUB 菜单不显示的处理方法
linux·运维·ubuntu
后台模板学习19 小时前
MongoDB 与 MySQL 在 IM 即时聊天场景中该
数据库·mysql·mongodb
IT大白鼠20 小时前
渗透测试实战从靶场搭建到渗透流程——第 8 篇 · 服务型靶标(上):MySQL 双版本写文件链
数据库·mysql·渗透测试
少年的范儿21 小时前
Windows 安装 MySQL 8.4 教程(ZIP 解压版):配置 my.ini、初始化数据库与启动服务
数据库·windows·mysql
神仙别闹21 小时前
基于Python+MySQL实现(Web)个人博客系统
python·mysql·php
Sayai1 天前
Ubuntu 开发环境搭建避坑(一):网卡 EEE 致 60% 周期性丢包,Realtek RTL8125 网络黑洞排查与修复
linux·运维·网络·ubuntu·性能优化
张小姐的猫1 天前
【MySQL】事务
android·mysql·adb