当前位置: 首页 > news >正文

【记录】Ubuntu20.04安装mysql

1、安装数据库

sudo apt update
sudo apt install mysql-server

2、查看数据库是否运行

sudo systemctl status mysql

若数据库未运行,则执行下述命令打开mysql服务:

sudo systemctl start mysql

3、设置密码

使用MySQL安装附带的脚本mysql_secure_installation; mysql_secure_installation 是 MySQL 官方提供的用于快速配置数据库安全选项的脚本,能帮你设置密码策略、移除匿名用户、禁止 root 远程登录等,提升 MySQL 运行安全性 。

sudo mysql_secure_installation

首先,输入y,开始进行设置

设置密码等级:分为 低 中 高 ,可自行选择,这里我使用0,低级密码

为了方便测试,系统会有一个匿名用户,这里可选择删除或保留,这里我选择保留

询问是否允许使用root用户远程连接数据库,这里我选择n

选择是否删除测试数据库,这里我选择y

选择y,重新加载权限表

4、运行mysql

以上若未设置密码,可通过命令进行密码设置:(修改密码之后,不能够使用sudo mysql登录mysql)

ALTER USER '用户名'@'主机地址' IDENTIFIED WITH mysql_native_password BY '新密码';
FLUSH PRIVILEGES;

5、问题解决

5.1 使用命令连接出错

该错误为权限问题,在root权限下正常

若非root权限,mysql调用/tmp/mysql.sock,但是这个位置并没有对应文件

临时解决方案:

通过命令指定访问的sock位置

mysql -u root -p --socket=/var/run/mysqld/mysqld.sock

永久解决方案:

修改配置文件,指定sock位置

若出现权限问题,还需要更改sock权限

sudo chmod 777 /var/run/mysqld/mysqld.sock

5.2 密码过于简单

执行命令,查看权限要求:

SHOW VARIABLES LIKE 'validate_password%';

短期有效:

SET GLOBAL validate_password.policy=LOW;
SET GLOBAL validate_password.length=4;

永久有效:

可以编辑 MySQL 的配置文件(通常是 /etc/my.cnf 或 /etc/mysql/my.cnf ),在 [mysqld] 配置节下添加或修改以下内容:

[mysqld]
validate_password.policy=LOW
validate_password.length=4

修改完配置文件之后,需要重启mysql服务:

sudo systemctl restart mysql
sudo systemctl status mysql 

5.3 远程连接失败

方式 A:允许特定 IP(最安全,推荐生产环境)
-- 替换 user_name、password、IP 为你的实际值
CREATE USER 'user_name'@'192.168.13.110' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'user_name'@'192.168.13.110' WITH GRANT OPTION;
FLUSH PRIVILEGES;
  • user_name:你要用于远程连接的用户名(比如 root,但生产不建议用 root)。
  • password:该用户的密码。
  • 192.168.13.110:需要连接的客户端 IP。
方式 B:允许任意 IP(方便测试,生产慎用)
-- 允许 root(或其他用户)从任意 IP 连接
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

  • % 表示允许所有 IP 连接,适合测试环境,但生产环境暴露 root@% 有安全风险!

若还不行,需要修改一下配置文件:

修改配置文件:/etc/mysql/mysql.conf.d/mysqld.cnf


文章转载自:
http://catholically.zzyjnl.cn
http://bramble.zzyjnl.cn
http://anqing.zzyjnl.cn
http://chemulpo.zzyjnl.cn
http://atkins.zzyjnl.cn
http://amplitudinous.zzyjnl.cn
http://chromide.zzyjnl.cn
http://bespread.zzyjnl.cn
http://cannibalize.zzyjnl.cn
http://anamorphoscope.zzyjnl.cn
http://assemblage.zzyjnl.cn
http://buildable.zzyjnl.cn
http://aunt.zzyjnl.cn
http://baguet.zzyjnl.cn
http://carbonatation.zzyjnl.cn
http://barrelage.zzyjnl.cn
http://aeromodelling.zzyjnl.cn
http://cecopexy.zzyjnl.cn
http://alba.zzyjnl.cn
http://aliped.zzyjnl.cn
http://bessie.zzyjnl.cn
http://cardiosclerosis.zzyjnl.cn
http://cementer.zzyjnl.cn
http://canephoros.zzyjnl.cn
http://chemigraphy.zzyjnl.cn
http://acock.zzyjnl.cn
http://angelical.zzyjnl.cn
http://capitula.zzyjnl.cn
http://carbonara.zzyjnl.cn
http://bombax.zzyjnl.cn
http://www.dtcms.com/a/281432.html

相关文章:

  • 苍穹外卖跳过支付后的来单提醒调整及相关问题解决办法
  • LLM 常见面试题 2
  • STM32小实验二--流水灯
  • 性能提升30% ONLYOFFICE 文档 9.0.3 版本已发布:onlyoffice二次开发三件套-学习中心安装及使用指南-新手必备
  • Hello Kitty Cosmos光影特展北京首展开幕,沉浸式数字艺术+跨界非遗焕新超级IP
  • 【机器学习深度学习】大模型本地化部署指南:Ollama、vLLM、LMDeploy 与 ModelScope 深度解析
  • 记录一次使用crontab未执行的排错过程
  • 电脑桌面整理工具,一键自动分类
  • BPE(字节对编码)和WordPiece 是什么
  • Python 函数的维护性与复用性
  • Gartner《JavaScript: Top Use Cases, Frameworks and Architecture Constraints》学习心得
  • AI Agent :从核心概念到高级实践的系统性探索
  • Cursor Git
  • iOS V2签名网站系统源码/IPA在线签名/全开源版本/亲测
  • C++中的模板参数 vs 函数参数:编译期与运行期的分界线
  • 使用llama-factory进行qwen3模型微调
  • 2025 XYD Summer Camp 7.14 模考
  • 理解TCP如何稳定、高效地 工作在网络上的关键
  • PyTorch笔记6----------神经网络案例
  • esp32使用ESP-IDF在Linux下的升级步骤,和遇到的坑Traceback (most recent call last):,及解决
  • uniapp打包成 apk
  • 网络编程-epoll模型/udp通信
  • 在线知识付费市场:崛起态势与未来潜能​
  • 从输入网址到获取页面的过程
  • Redis主从同步原理(全量复制、增量复制)
  • 【STM32项目】植物养护设计
  • Zabbix钉钉告警
  • 线性代数小述(三)
  • 乐观锁和悲观锁
  • 【好盈电调】使用 ESP32 的 PWM 驱动无刷电调,电调型号:XRotor Pro 80A BLDC V4.1