Ubuntu install mysql
本文最后更新于22 天前,其中的信息可能已经过时,如有错误请发送邮件到zhangzihao60102@gmail.com

安装命令

apt-get update
apt-get install mysql-server

安装完成后,MySQL服务将自动启动。要验证MySQL服务器正在运行,请输入:

systemctl status mysql

修改mysql的密码验证方式
你可以通过查询 plugin 字段来检查认证方式:

SELECT user, host, plugin FROM mysql.user WHERE user='root';
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
FLUSH PRIVILEGES;

修改密码,并刷新权限

重启mysql服务器

sudo systemctl restart mysql

极少数情况下会出现 MySQL 配置的 socket 不在 /tmp/mysql.sock,但 TCP 是通的,可以直接绕开 socket:

mysql -uroot -p123456 -h 127.0.0.1

如果这样能连上,说明 MySQL 是跑着的,只是客户端默认找的 socket 路径不对。

主机连接Mysql

通过navicate连接服务器的数据库。

第一步:MySQL 是否在监听 0.0.0.0(而不是只监听本机)

sudo ss -tulnp | grep 3306

Local Address 那一列:

如果是 127.0.0.1:3306localhost:3306
👉 只能本机访问,外网(包括你 Navicat)连不到

如果是 0.0.0.0:3306 或 服务器内网 IP xxx.xxx.xxx.xxx:3306
👉 说明 MySQL 已经对外监听了,这一步 OK

如果现在只监听在 127.0.0.1,修改配置,常见在 Ubuntu 上配置文件是:

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 

有些系统是 /etc/mysql/my.cnf 或 /etc/my.cnf

找到类似:

bind-address = 127.0.0.1
# 或
bind-address = localhost

改成:

bind-address = 0.0.0.0

这一行最好注释掉:skip-networking

保存后重启 MySQL:

sudo systemctl restart mysql

第二步:防火墙是否放行 3306 端口

Ubuntu 常见:

sudo ufw status

如果启用了 UFW,而且没有 3306 的规则,就加一条:

# 如果只让你自己的电脑(假设你本机 IP 是 1.2.3.4)访问,安全一些:
sudo ufw allow from 1.2.3.4 to any port 3306 proto tcp

# 或者简单粗暴点:对所有 IP 开放 3306(不太推荐)
sudo ufw allow 3306/tcp

然后:

sudo ufw reload
sudo ufw status

云服务器控制台安全组(很关键)

同时如果你用的是云服务器(例如腾讯云、阿里云等),还要在控制台里:

  • 找到这台机器的「安全组」规则
  • 新增一条 入站规则
    • 协议:TCP
    • 端口:3306(或你实际的 MySQL 端口)
    • 来源:你当前公网 IP / 0.0.0.0/0(测试用)

不开放安全组的话,Navicat 永远连不上。

第三步:确认 MySQL 里有给你 Navicat 用的远程账号

即便端口通了,如果你的 MySQL 只允许 root@localhost 登录,外网也连不上。

在服务器上登录 MySQL(本机):

mysql -u root -p

在 MySQL 里执行(不要粘贴密码示例,换成你自己的):

-- 1. 创建一个远程用户(示例:账号 meduser,密码 StrongPass123! 自己换)
CREATE USER 'meduser'@'%' IDENTIFIED BY 'StrongPass123!';

-- 2. 给他对 meditation 数据库的权限(按你实际数据库名改)
GRANT ALL PRIVILEGES ON meditation.* TO 'meduser'@'%';

-- 3. 刷新权限
FLUSH PRIVILEGES;

% 表示允许从任意 IP 连接,你也可以改成 'meduser'@'你本机IP' 更安全。

然后在 Navicat 里这样配置:

  • 主机:IP地址
  • 端口:3306
  • 用户名:meduser
  • 密码:StrongPass123!
  • 连接方式:TCP/IP

点击测试连接。

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇