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

相关推荐
人工智能训练师30 分钟前
Ubuntu22.04如何安装新版本的Node.js和npm
linux·运维·前端·人工智能·ubuntu·npm·node.js
灿烂阳光g33 分钟前
domain_auto_trans,source_domain,untrusted_app
android·linux
Ronin3052 小时前
【Linux系统】日志与策略模式
linux·策略模式·日志
ZzzK,3 小时前
JAVA虚拟机(JVM)
java·linux·jvm
Aspiresky4 小时前
浅析Linux进程信号处理机制:基本原理及应用
linux·运维·信号处理
2401_897930064 小时前
使用Docker轻松部署Neo4j图数据库
数据库·docker·neo4j
ajassi20005 小时前
linux C 语言开发 (八) 进程基础
linux·运维·服务器
..过云雨5 小时前
05.【Linux系统编程】进程(冯诺依曼体系结构、进程概念、进程状态(注意僵尸和孤儿)、进程优先级、进程切换和调度)
linux·笔记·学习
matlab的学徒5 小时前
Web与Nginx网站服务(改)
linux·运维·前端·nginx·tomcat
LeeZhao@5 小时前
【AI推理部署】Docker篇04—Docker自动构建镜像
人工智能·docker·容器