Docker使用mysql镜像

  • 1
  • 1,742次阅读
  • A+
所属分类:Docker

Docker使用mysql镜像

Docker下载官方mysql镜像

docker pull mysql

查看mysql镜像信息

docker images
mysql               latest              c7109f74d339        2 weeks ago         443 MB

启动mysql镜像

// run 启动命令
//--name 容器名称
//-p 映射端口
//-e 为设置执行时的环境变量,该出设置mysql中的root密码
//-d 设置镜像,镜像:版本名称
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1122 -d mysql:latest

进入mysql容器

//exec 在运行时的容器中执行命令
//-it 使用交互模式
//dd67d 容器id
//bin/bash 以/bin/bash模式进入容器
docker exec -it dd67d /bin/bash

进入mysql终端

//使用root用户登录mysql终端,进入后输入上面的密码
mysql -u root -p

执行进入mysql中,如果报如下错误:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

表示当前文件没有访问权限,执行 chmod 777 /var/run/mysqld/进行赋权限操作即可

输入命令查看mysql信息

//查询mysql数据库
show databases;
//增加数据库
create database test;
//创建用户
create user admin;
//设置用户密码
alter user 'admin'@'%' identified by '123456';
//或者直接设置用户名和密码(mysql 8.0以后的语法)
create user 'admin'@'%' identified by '123456';
/**
  *设置用户admin赋予test数据库所有的权限,并且允许远程登录
  * all privileges所有权限 也可单独赋予增删改查(insert,delete,update,select)权限
  * test.*数据库test所有表及表关系等
  * admin@"%"这里的%,表示给用户所有权限(任意ip登录),如果只给与本地权限,用localhost代替g
  */
grant all privileges on test.* to 'admin'@'%';
//mysql 8.0以后的赋权语法
grant all privileges on test.* to admin@'%';
//赋予admin全部数据库表权限
grant all privileges on *.* to 'admin'@'%';
//刷新用户权限
flush privileges;
//查看用户权限
show grants for test;

客户端连接mysql

通常在配置完mysql用户以及权限信息完成后,客户端依然无法访问mysql,这是因为mysql在8.0后增加的新特性-默认使用caching_sha2_password作为身份验证插件,故客户端Navicat12连接不上mysql8.0,所以需要将加密方式改为mysql_native_password

alter user 'admin'@'%' identified with mysql_native_password BY '123456';

mysql备份数据库命令

导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名
如我输入的命令行:mysqldump -u lmapp -p lmapp -P 3308 > lmapp.sql   (输入后会让你输入进入MySQL的密码)

mysql命令导入数据

导入数据库(sql文件)
mysql -u 用户名 -p  数据库名 < 数据库名.sql
mysql -u abc -p abc < abc.sql
注意sql文件必须在当前目录下,如果不在当前目录下需要在< 之后加上具体sql文件路径

mysql删除数据库中所有的表

SELECT concat('DROP TABLE IF EXISTS ', table_name, ';')
FROM information_schema.tables
WHERE table_schema = 'mydb'; //mydb表示所需删除表的数据库名称

最后分享两个连接mysql服务的客户端

  1. Navicat.Premium.v11.1.6.x64 破解版 解压即可使用

下载地址 百度网盘 地址 https://pan.baidu.com/s/1ROf1q0XUDPvSZkO7w3gv4A 密码 n4m5

  1. SQLyog Ultimate 64 破解版

该客户端为轻量级SQL客户端,个人感觉比较好用,功能强大,界面简洁。

下载地址 百度网盘 地址 https://pan.baidu.com/s/1JBZ4z5Q-N-5CT-CcnUuqoQ 密码 ngpv

解压后,需要填写注册码,分享三个可用注册码。

  • 姓 名(Name):ttrar
    序 列 号(Code):8d8120df-a5c3-4989-8f47-5afc79c56e7c
  • 姓 名(Name):ttrar
    序 列 号(Code):59adfdfe-bcb0-4762-8267-d7fccf16beda
  • 姓 名(Name):ttrar
    序 列 号(Code):ec38d297-0543-4679-b098-4baadf91f983
  • 我的微信
  • 加好友一起交流!
  • weinxin
  • 微信公众号
  • 关注公众号获取分享资源!
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:1   其中:访客  1   博主  0

    • 安德森 安德森 0

      直接在阿里云里下载mysql镜像源很快:
      https://developer.aliyun.com/mirror/?utm_content=g_1000303593