SSF0SSF0
首页
前端
  • Node
  • Go
  • C#
  • MySql
  • Bash
  • Git
  • Docker
  • VuePress
  • CI/CD
  • 服务器
  • 网站
  • 学习资料
  • 软件
Timeline
Github
标签
分类
首页
前端
  • Node
  • Go
  • C#
  • MySql
  • Bash
  • Git
  • Docker
  • VuePress
  • CI/CD
  • 服务器
  • 网站
  • 学习资料
  • 软件
Timeline
Github
标签
分类
  • Node.js

    • 在 Docker 容器中运行 Node.js Koa 应用的网络配置与常见问题
    • 在 Node.js 后端实现邮箱验证码功能
    • Redis 与 JWT 结合的 Token 验证方案
    • Node.js 后端三层架构中的错误处理最佳实践
    • 在 Koa 中批量设置路由 JWT 校验的最佳实践
  • Go

    • Go1
    • Go2
  • MySql

    • 数据库连接

数据库连接

1.本地连接

  • 当数据库安装在宿主机上面的时候可以直接使用以下命令连接数据库。

    mysql -u root -p

2.局域网连接

  • 而当数据库安装在局域网内的时候可以使用以下命令连接数据库。

    mysql -h 192.168.1.1 -P 3306 -u XXX -p

重点: 🌟🌟🌟🌟🌟🌟

  • 其中 192.168.1.1 是数据库所在主机的 ip 地址,3306 是数据库的端口号,XXX 是数据库的用户名。

  • 数据库所在主机的防火墙需要开放 3306 端口,否则无法连接。

  • 数据库 XXX 用户具有从任意主机(%)连接的权限。

    -- 查看现有用户和主机
    SELECT user, host FROM mysql.user;
    
    -- 如果 XXX 用户没有从任意主机 (%) 连接的权限,添加权限
    GRANT ALL PRIVILEGES ON *.* TO 'XXX'@'%' IDENTIFIED BY 'your_password';
    FLUSH PRIVILEGES;
    
    -- 创建一个新用户,并授予从任意主机 (%) 连接的权限
    CREATE USER 'XXX'@'%' IDENTIFIED BY 'your_password';
    GRANT ALL PRIVILEGES ON *.* TO 'XXX'@'%';
    FLUSH PRIVILEGES;

3.docker 开发连接数据库

3.1.连接宿主机的数据库

  • 可以在 Docker 容器内通过宿主机的局域网 IP 地址来访问宿主机内的数据库,例如,如果宿主机的 IP 地址是 192.168.1.100,你可以在容器内使用这个 IP 地址进行连接。
mysql -h 192.168.1.100 -P 3306 -u XXX -p

3.2.连接 docker 容器内的数据库

  • 在 docker 容器内运行数据库的命令启动一个 MySQL 容器,并将其端口 3306 映射到宿主机的 3306 端口:
docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=your_password -v /data/mysql:/var/lib/mysql mysql:latest
  • 这时候就挂载到了宿主机的 3306 端口,然后就可以通过以下命令连接数据库了。
mysql -h 127.0.0.1 -P 3306 -u XXX -p

3.3.连接局域网内的数据库

  • 通过局域网内主机的 ip 地址连接,例如 192.168.0.105 是局域网内主机的 ip。
mysql -h 192.168.0.105 -P 3306 -u XXX -p
最后更新时间:
贡献者: 何风顺