Ubuntu 22.04 MySQL安装并设置远程访问

Ubuntu 22.04 LTS环境下

1 安装

复制代码
# 更新软件包列表
sudo apt update

# 查看可使用的安装包
sudo apt search mysql-server

# 安装最新版本(显示冲突装不了,可以先卸了再装)
sudo apt install -y mysql-server
# 安装指定版本
sudo apt install -y mysql-server-8.0

# # 启动,重启restart,停止stop,状态status,开机启动enable
sudo systemctl start mysql

# 设置root密码(没密码直接回车进)
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
# 好像下面这句才行
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';

# 记得刷新
flush privileges;

2 创建新用户并允许本地登录

2.1 创建用户

即允许用户从哪个ip连接。查询自己的ip:https://ip138.com/

复制代码
# 进入mysql并use mysql

# 创建用户,如CREATE USER 'rose'@'192.168.38.%' IDENTIFIED BY '123456';
CREATE USER 'usernamexxx'@'hostxxx' IDENTIFIED BY 'passwordxxx';

# 设置密码
SET PASSWORD FOR 'usernamexxx'@'hostxxx' = PASSWORD('newpasswordxxx');

2.2 授权

GRANT privilegesxxx ON databasenamexxx.tablenamexxx TO 'usernamexxx'@'hostxxx'

  • privilegesxxx:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
  • databasenamexxx:数据库名
  • tablenamexxx:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用表示,如 .*
    如:
GRANT 复制代码
GRANT ALL ON *.* TO 'jack'@'%';
GRANT ALL ON DbXXX.* TO 'jack'@'%';

记得要刷新
flush privileges;

2.3 允许从其他ip连接

修改配置文件

复制代码
# 修改文件
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

# 修改为网卡地址(可能和服务器地址相同)
# 或注释bind-address
bind-address = 0.0.0.0

# 重启
sudo systemctl restart mysql
相关推荐
缘友一世3 小时前
GLM5.3 flash cybersec本地部署[5]:生产运维与故障恢复
ubuntu·vllm·glm5.3 flash
程序员Sunday12 小时前
MySQL 为什么使用 B+ 树索引?把范围查询、回表和覆盖索引连起来
数据库·mysql
Yyyyyy~12 小时前
[ Mysql ] 库的操作
mysql
小米里的大麦13 小时前
16 MySQL 事务
数据库·mysql
Titan202413 小时前
MySQL访问个人学习笔记
笔记·学习·mysql
for_ever_love__14 小时前
MySQL 全文索引实战:FULLTEXT、ngram 中文分词与 MATCH AGAINST 到底该怎么用
java·python·mysql·全文检索·分词·索引·ngram
工业一体机老司机15 小时前
工业一体机选购后的系统部署:Ubuntu下Docker容器化运行与GPIO配置
linux·ubuntu·docker·人机交互
for_ever_love__15 小时前
MySQL 高频面试题 30 问:索引、事务、锁、日志、主从与分库分表(MySQL 8.0 版)
java·数据库·spring boot·mysql·spring cloud·面试·总结
夏虫不可与之言冰16 小时前
Windows WSL2 (Ubuntu) 搭建 ESP‑IDF 6.1 开发环境全过程演示
linux·windows·ubuntu·esp32·乐鑫科技·乐鑫eim·乐鑫代理商
java1234_小锋18 小时前
【技术专题】Mysql8 数据库 - Mysql8 触发器
数据库·mysql·mysql8