虚拟机Linux系统安装mysql8.0与Navicat连接mysql

本文详细介绍了如何在Linux系统中安装MySQL 8.0,包括从下载安装包到解压、配置、初始化、设置开机自启、开启服务和修改密码的步骤。同时,针对在Navicat连接MySQL 8.0时出现的因新密码加密方式导致的异常问题,提出了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Linux下载安装mysq

1 下载mysql安装包,也可以通过本地xftp上传到虚拟机

mysql国内镜像地址:(推荐使用这个下载快一些)
mysql官网地址:

 1. cd / -- 进入到根目录 		
 2. mkdir www -- 在根目录下创建一个www的目录	 		
 3. 使用Xftp上传mysql的压缩包

2 将下载的mysql安装包解压

--解压
tar -xvf mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz

--移动
mv mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz mysql

-- 进入mysql文件(你把压缩文件移动的文件中)
cd mysql 
	
--添加mysql组
groupadd mysql

--添加mysql用户
useradd -r -g mysql mysql

3 配置mysql配置文件与初始化mysql

cd ../ -- 返回上一层目录(www目录)

mv mysql /usr/local/ -- 把mysql文件 移动到/usr/local/中
cd /usr/local -- 进入/usr/local 目录中
cd mysql -- 进入到mysql目录中
		
给mysql组/usr/local/mysql文件权限
chown -R mysql:mysql /usr/local/mysql -- 
		
初始化mysql  (这里会给一个12位的mysql初始化密码)
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
		
chown -R root:root /usr/local/mysql -- 
chown -R mysql:mysql /
### 安装 MySQL 8.0 on Docker #### 下载并安装 Docker 版本的 MySQL 8.0 为了在 Docker 中运行 MySQL 8.0 数据库,首先需要拉取官方镜像: ```bash docker pull mysql:8.0 ``` 这会从 Docker Hub 获取最新的 MySQL 8.0 镜像[^1]。 #### 设置 MySQL 的环境变量启动容器 创建一个新的 Docker 容器来运行 MySQL 并设置必要的环境变量。这些变量用于定义 root 用户密码和其他初始化参数: ```bash docker run --name some-mysql \ -e MYSQL_ROOT_PASSWORD=my-secret-pw \ -d mysql:8.0 ``` 上述命令中的 `MYSQL_ROOT_PASSWORD` 是用来设定 MySQL root 用户的初始登录密码。 #### 创建自定义网络以便其他服务连接MySQL 对于更复杂的部署场景,比如 Nacos 和 MySQL 协同工作时,则可能希望为它们建立一个共享的 Docker 网络以简化互联配置: ```bash docker network create docker-ubuntu-net ``` 之后可以通过指定此网络名称让新创建的服务加入其中[^2]: ```bash docker run --name some-nacos --network=docker-ubuntu-net ... docker run --name some-mysql --network=docker-ubuntu-net ... ``` #### 持久化存储数据卷 为了避免因容器重启而导致的数据丢失问题,推荐使用 Docker Volumes 或者绑定挂载的方式来进行持久化的数据管理。这里展示如何通过 `-v` 参数将宿主机上的路径映射给容器内的 `/var/lib/mysql` 目录作为数据库文件的位置: ```bash mkdir -p /opt/datas/docker/mysql/data docker run --name some-mysql \ -v /opt/datas/docker/mysql/conf:/etc/mysql/conf.d \ -v /opt/datas/docker/mysql/data:/var/lib/mysql \ ... ``` 这样做的好处是可以确保即使删除了容器本身也不会影响已经保存下来的数据[^4]。 #### 使用 Navicat 连接MySQL 实例 当尝试利用图形界面工具如 Navicat 来访问位于 Docker 内部运行着的 MySQL 服务器时,可能会遇到一些权限或端口转发方面的问题。解决方法之一就是确保正确设置了外部可访问的端口号,并允许来自客户端 IP 地址范围内的请求到达目标容器内部监听的服务端口上。通常做法是在启动容器时加上 `-p` 参数完成端口映射操作: ```bash docker run ... -p 3306:3306 ... ``` 另外还需要确认防火墙规则以及 SELinux (如果适用的话) 是否阻止了相应的流量传输过程。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值