学点Data站:https://yellowcan.cn
学点笔录:https://code.yellowcan.cn
一、更新软件源
Bash
sudo apt update && sudo apt upgrade -y
二、安装 MySQL 服务端
Bash
sudo apt install mysql-server -y
三、检查服务状态
Markdown
# 查看运行状态
sudo systemctl status mysql
# 手动启停命令
sudo systemctl start mysql
sudo systemctl stop mysql
sudo systemctl restart mysql
# 设置开机自启(默认已开启)
sudo systemctl enable mysql
四、安全初始化(必做,加固数据库)
Bash
sudo mysql_secure_installation
交互步骤参考:
VALIDATE PASSWORD COMPONENT:密码强度校验,按需输入n关闭- 设置 root 数据库密码(牢记)
Remove anonymous users?:y删除匿名用户Disallow root login remotely?:本地使用填y;需要远程连接填nRemove test database and access to it?:y删除测试库Reload privilege tables now?:y刷新权限
五、本地登录 MySQL
方式 1:sudo 免密登录(推荐本地管理)
Bash
sudo mysql
方式 2:修改 root 支持密码登录(方便远程 / Navicat 连接)
- sudo 进入数据库
text
sudo mysql
-
执行 SQL(替换
你的密码)先查看mysql版本
SQL
mysql --version
MySQL 8.4之前的版本使用
SQL
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
FLUSH PRIVILEGES;
exit;
MySQL 8.4+ 版本(Ubuntu 24.04 默认),新版本默认直接禁用了`mysql_native_password`旧插件,所以执行这条 SQL 会报`Plugin not loaded`。
报错ERROR 1524 (HY000): Plugin 'mysql_native_password' is not loaded
MySQL 8.4+的版本改用官方默认安全插件 caching_sha2_password(无需改配置、不用重启)
SQL
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '你的密码';
FLUSH PRIVILEGES;
exit;
- 现在可密码登录
SQL
mysql -u root -p
六、配置远程访问(外部工具连接数据库)
1.修改配置文件
Bash
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
找到bind-address = 127.0.0.1,修改为:
YAML
bind-address = 0.0.0.0
保存退出:esc→ 输入:wq
2.创建允许远程登录的账号
登录 MySQL
Bash
mysql -u root -p
创建远程用户(% 代表任意 IP)
SQL
CREATE USER 'root'@'%' IDENTIFIED BY '你的密码';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit;
3.重启 MySQL
Bash
sudo systemctl restart mysql
4.放行端口(3306)
有防火墙的前提下
Markdown
# 开放3306端口
sudo ufw allow 3306/tcp
# 查看防火墙规则
sudo ufw status
云端服务器,有需要远程登录,去安全组放行端口
七、常用操作
查看 MySQL 版本
SQL
mysql --version
# 或进入数据库查看
SELECT VERSION();
停止服务
Bash
sudo systemctl stop mysql
结束进程并重启服务
Bash
sudo pkill mysqld
sudo systemctl start mysql
八、卸载 MySQL
Bash
sudo apt remove mysql-server mysql-client -y
sudo apt autoremove -y
# 彻底删除数据(谨慎执行,所有库清空)
sudo rm -rf /var/lib/mysql /etc/mysql
