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后面的内容

相关推荐
洲覆18 小时前
缓存异常:缓存穿透、缓存击穿、缓存雪崩
开发语言·数据库·mysql·缓存
yolo_guo19 小时前
opencv 学习: 04 通过ROI处理图片局部数据,以添加水印为例
linux·c++·opencv
「QT(C++)开发工程师」19 小时前
VTK开源视觉库 | 行业应用第一篇
linux·qt·物联网·计算机视觉·信息可视化·vtk
LCG元19 小时前
记一次线上故障排查:Linux磁盘空间莫名占满,原来是它在"作妖"(附清理脚本)
linux
大G的笔记本19 小时前
MySQL 中的 行锁(Record Lock) 和 间隙锁(Gap Lock)
java·数据库·mysql
杜子不疼.19 小时前
【Linux】信号机制详解:进程间通信的核心
linux·运维·服务器
洲覆20 小时前
go-mysql-transfer 伪装从库实现 MySQL 到 Redis 数据同步(完整配置)
数据库·redis·mysql·golang
谅望者20 小时前
SQL 自连接详解:当数据表需要与自己对话(组织层级实战)
数据库·sql·mysql·oracle·database
..过云雨20 小时前
11.【Linux系统编程】文件系统详解——从磁盘硬件到文件系统
linux·c++·后端·缓存
qq_2715817920 小时前
Ubuntu OpenCV C++ 获取MYNT EYE S1030-IR摄像头图像
linux·opencv·ubuntu