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
相关推荐
老前端的功夫24 分钟前
TypeScript 类型魔术:模板字面量类型的深层解密与工程实践
前端·javascript·ubuntu·架构·typescript·前端框架
HABuo1 小时前
【Linux进程(四)】进程切换&环境变量深入剖析
linux·运维·服务器·c语言·c++·ubuntu·centos
kaico20181 小时前
MySQL的索引
数据库·mysql
资生算法程序员_畅想家_剑魔2 小时前
Mysql常见报错解决分享-01-Invalid escape character in string.
数据库·mysql
霖霖总总3 小时前
[小技巧14]MySQL 8.0 系统变量设置全解析:SET GLOBAL、SET PERSIST 与 SET PERSIST_ONLY 的区别与应用
数据库·mysql
alonewolf_993 小时前
深入剖析MySQL索引底层:B+树、联合索引与跳跃扫描原理全解
数据库·b树·mysql
oMcLin3 小时前
如何在Debian 11上通过配置MySQL 8.0的分布式架构,提升跨区域数据同步的效率与延迟?
分布式·mysql·debian
计算机学姐4 小时前
基于SpringBoot的校园资源共享系统【个性化推荐算法+数据可视化统计】
java·vue.js·spring boot·后端·mysql·spring·信息可视化
霖霖总总5 小时前
[小技巧23]全面理解 MySQL 的 WAL 机制:原理、影响与可观测性
数据库·mysql
冰暮流星5 小时前
sql语句之select语句的基本使用
数据库·sql·mysql