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
相关推荐
程序员-Benothing1 小时前
MySQL 中的事务隔离级别有哪些?默认的事务隔离级别是什么?为什么选择这个级别?
数据库·mysql
小林ixn3 小时前
从零设计一个博客系统的数据库:表结构、索引与约束的实战思考
数据库·后端·mysql
GreatSQL社区4 小时前
少敲一个字母,GreatSQL 对所有查询“已读不回”
数据库·mysql·greatsql
qq_339191145 小时前
mysql磁盘占用排查,mysql存储空间占比统计,mysql判断哪张表占用磁盘空间大
数据库·mysql
2601_962063237 小时前
【Spring Boot】掌握 Spring 事务:隔离级别与传播机制解读与应用
spring boot·spring·adb
程序员-Benothing8 小时前
MySQL 二级索引有 MVCC 快照吗?
数据库·mysql
Java.熵减码农11 小时前
MySQL 远程连接故障排查全记录(Linux + Docker + Navicat)
linux·mysql·docker
钟良堂12 小时前
Ubuntu 20.04 部署 ORB_SLAM3 完整流程与踩坑总结
linux·运维·ubuntu
拾光Ծ12 小时前
【MySQL】基础入门:库操库、数据表操作与数据类型详解
数据库·sql·mysql·数据类型·库操作·表操作