Ubuntu 安装 Mysql 数据库

首先更新apt-get工具,执行命令如下:

复制代码
apt-get upgrade

安装Mysql,执行如下命令:

复制代码
apt-get install mysql-server

开启Mysql 服务,执行命令如下:

复制代码
service mysql start

并确认是否成功开启mysql,执行命令如下:

复制代码
service mysql status

确认是否启动成功,在LISTEN状态下,启动成功:

复制代码
netstat -tap | grep mysql

在最新使用的 MySQL 版本中,默认使用 auth_socket 插件来进行身份验证,这意味着 root 用户通过操作系统的用户身份进行认证,而不是使用密码。这种配置在许多 Linux 系统上是默认的,特别是在安装 MySQL 时不要求设置密码的情况下。如果我们希望使用传统的密码验证方式来登录 MySQL,需要更改 root 用户的认证方式。以下是如何将 root 用户从 auth_socket 插件更改为使用密码认证的步骤:

登录 MySQL: 首先,使用以下命令登录到 MySQL:

复制代码
sudo mysql

更改认证插件和设置密码 : 在 MySQL 命令行中,使用以下命令来更改 root 用户的认证插件并设置一个新密码:

复制代码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
FLUSH PRIVILEGES;

'新密码' 替换为你想要设置的密码。

退出并测试登录: 更改完成后,退出 MySQL:

复制代码
exit;

然后尝试使用新密码重新登录:

复制代码
sudo mysql -u root -p

系统将提示你输入密码,此时应输入你刚才设置的密码。(不会有任何显示)

MySQL 配置文件中的 bind-address 参数限制了可以接受连接的 IP 地址。需要确认它是否设置为允许从你的客户端 IP 访问。查看 /etc/mysql/mysql.conf.d/mysqld.cnf 文件中的 bind-address:

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

如果设置为 127.0.0.1(只允许本地连接),需要改为 0.0.0.0(允许任何 IP 连接)或具体的外部 IP 地址,然后重启 MySQL 服务

执行重启命令:

复制代码
sudo systemctl restart mysql

再次登录Mysql,确保 MySQL 用户的主机设置允许从你的客户端 IP 地址连接。可以在 MySQL 中运行以下 SQL 命令来检查:

接下来,我们需要使用 root 用户或具有相应权限的用户登录到 MySQL。可以通过以下命令登录:

复制代码
mysql -u root -p

登录后,需要选择 mysql 数据库,因为用户信息存储在这个数据库中:

复制代码
USE mysql;

执行以下 SQL 命令来查看所有用户及其主机:

复制代码
SELECT user, host FROM user;

决定修改现有用户(如 root 用户),可以更改用户的 host 值,以允许从任意 IP 地址连接。执行如下命令:

复制代码
UPDATE user SET host = '%' WHERE user = 'root' AND host = 'localhost';
FLUSH PRIVILEGES

这里将 root 用户的 host 从 localhost 改为 %,表示从任何 IP 地址都允许连接。

二、Navicat链接数据库

Windows下载Navicat,地址:Direct Download | Navicat

选择Connection:

新建一个Mysql连接:

输入远程服务器的IP,Mysql的用户名和密码,执行连通性测试。

如何能够正常连接,会提示Connection Successful字样。

接下来就可以正常在Navinate工具中进行Mysql操作了。

相关推荐
晋阳十二夜4 小时前
【压力测试之_Jmeter链接Oracle数据库链接】
数据库·oracle·压力测试
GDAL6 小时前
Node.js v22.5+ 官方 SQLite 模块全解析:从入门到实战
数据库·sqlite·node.js
DCTANT7 小时前
【原创】国产化适配-全量迁移MySQL数据到OpenGauss数据库
java·数据库·spring boot·mysql·opengauss
好奇的菜鸟8 小时前
如何在 Ubuntu 24.04 (Noble) 上使用阿里源
linux·运维·ubuntu
程序员岳焱8 小时前
Java 与 MySQL 性能优化:MySQL全文检索查询优化实践
后端·mysql·性能优化
喜欢敲代码的程序员9 小时前
SpringBoot+Mybatis+MySQL+Vue+ElementUI前后端分离版:项目搭建(一)
spring boot·mysql·elementui·vue·mybatis
AI、少年郎9 小时前
Oracle 进阶语法实战:从多维分析到数据清洗的深度应用(第四课)
数据库·oracle
赤橙红的黄9 小时前
自定义线程池-实现任务0丢失的处理策略
数据库·spring
钢铁男儿9 小时前
C# 委托(调用带引用参数的委托)
java·mysql·c#
叁沐9 小时前
MySQL 02 日志系统:一条SQL更新语句是如何执行的?
mysql