linux中mysql的安装使用(普通版版本+docker版本)

linux中mysql的安装使用

一、普通安装

1.下载安装包

挑选个你喜欢的目录,用wget下载并且解压

bash 复制代码
wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar
tar -xvf mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar

或者你可以去官网,Operating System:选择Linux -Generic或者redcat,再选择你需要的版本。

2.流程

具体参考这篇文章linux原始方法安装mysql,非常麻烦配置也很多,稍不注意就跑不起来,感兴趣的可以去试试。

二、用docker安装

1.拉取mysql镜像

版本你根据自己情况随意,如果不加版本号默认拉取最新的,等价于:mysql:latest

bash 复制代码
docker pull mysql:5.7.5

2.启动镜像

启动参数,我这是简略版本,如果你有挂载目录的需求,请参考第二个参数写法

bash 复制代码
docker run -d -p 3306:3306 --name mysql1 -e MYSQL_ROOT_PASSWORD=123456 mysql

挂载格式

bash 复制代码
docker run -d -p 3306:3306 --name mysql1 \
        -v /dockerTest/mountdata/mysqldata/conf:/etc/mysql/conf.d \
        -v /dockerTest/mountdata/mysqldata/logs:/logs \
        -v /dockerTest/mountdata/mysqldata/data:/var/lib/mysql \
        -e MYSQL_ROOT_PASSWORD=123456 \
        mysql

3.开启权限

PS:我这里可能是我安装次数太多,我镜像启动完成直接就可以用Navicat连接了,你可以启动完成试试能不能连,如果你不能连接的话,那么照着下面做。

第一种情况

bash 复制代码
[root@localhost mountdata]# docker exec -it mysql1 bash
root@98f413cadfa7:/#

验证密码

bash 复制代码
root@98f413cadfa7:/# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.27 MySQL Community Server - GPL

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

输入以下三条命令来开启root远程权限:

bash 复制代码
#1 切换数据库
use mysql;  

#2 给root用户分配远程访问权限
GRANT ALL PRIVILEGES ON *.* TO root@'%' WITH GRANT OPTION;

#3 强制刷新权限 
FLUSH PRIVILEGES;  

第二种情况

第一种情况不行用这种,启动镜像的时候,在命令参数加上-e MYSQL_ROOT_HOST=%,表示允许任何ip的机器远程连接,这样启动参数就变成如下所示:

bash 复制代码
docker run -d -p 3306:3306 --name mysql1 -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_ROOT_HOST=% mysql

三、用Navicat连接

这里的密码,就是启动参数:-e MYSQL_ROOT_PASSWORD后面的内容

相关推荐
Better Bench20 小时前
WSL2 Ubuntu 中 Claude CLI “command not found” 故障排查与修复
linux·ubuntu·claude·wsl·claudecode
实心儿儿21 小时前
Linux —— 进程间关系和守护进程
linux·运维·服务器
Dawn-bit1 天前
Linux磁盘管理详解
linux·运维·服务器·计算机网络·云计算
RisunJan1 天前
Linux命令-sftp(SSH 文件传输协议客户端)
linux·运维
极客先躯1 天前
高级java每日一道面试题-2026年05月03日-实战篇[Docker]-如何实现容器化环境的数据加密?
java·运维·docker·容器·金融·加解密·高级面试
龙仔7251 天前
人大金仓OS_Core数据库自动备份实施笔记(银河麒麟Linux)
linux·数据库·笔记·备份·人大金仓
老杨聊技术1 天前
CentOS 7 安装 MySQL 8 保姆级教程
linux·mysql·centos
sunxr.2271 天前
Mysql-----最后一次作业
数据库·mysql
xiaoye-duck1 天前
《Linux系统编程》Linux 系统多线程(六):<线程同步与互斥>线程同步(下):POSIX 信号量与环形队列生产者消费者模型详解
linux·线程
三言老师1 天前
CentOS7.9:Redis‑Cluster集群部署结构化实战教程
linux·运维·服务器·数据库