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
相关推荐
服务端相声演员5 小时前
in子查询的执行可能被优化为连接查询
mysql
写后端的胖头鱼9 小时前
【高频面试题】深分页问题
数据库·mysql·数据库优化·深分页
Soari11 小时前
Linux 内核对比:PREEMPT_DYNAMIC vs PREEMPT_RT
linux·运维·ubuntu
2601_9623878212 小时前
多源数据查询指南:MySQL 联邦、Python 聚合与 Presto 引擎全对比
python·mysql·数据集成·presto·联邦查询
她说..12 小时前
MySQL JSON 处理学习文档
学习·mysql·json
写后端的胖头鱼13 小时前
【高频面试题】SQL 查询慢怎么排查
数据库·sql·mysql·oracle·慢查询·高频面试题
扬大平仔13 小时前
# 小深:用 AgentScope Java 2.0 Harness 做私人助手(上)mysql
java·开发语言·mysql
wudongfang66614 小时前
mysql全量同步数据改增量
数据库·mysql
garmin Chen14 小时前
MySQL精简面试题
数据库·后端·mysql·面试
服务端相声演员15 小时前
MySQL的select distinct ..Union all和select..union的区别
数据库·mysql