返回

揭开MySQL使用基础的面纱——Docker部署MySQL的详细指南

后端

前言:MySQL简介

MySQL是一款开源的、跨平台的、多线程和多用户的SQL数据库管理系统。它以其高效、稳定、可靠和易用而著称,被广泛应用于各类网站和应用程序中。

基于Docker部署MySQL

Docker是一个开源的、轻量级的容器平台,它允许您在隔离的环境中运行应用程序。使用Docker可以轻松部署MySQL,无需担心底层操作系统和环境的差异。

步骤1:进入MySQL容器

首先,您需要进入MySQL容器。可以使用以下命令启动MySQL容器:

docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password mysql

步骤2:进入数据库

接下来,您需要进入MySQL数据库。可以使用以下命令进入MySQL数据库:

docker exec -it mysql bash

步骤3:创建库和表

进入MySQL数据库后,您可以使用以下命令创建数据库:

CREATE DATABASE database_name;

创建数据库后,您可以使用以下命令创建表:

CREATE TABLE table_name (
  id INT NOT NULL AUTO_INCREMENT,
  name VARCHAR(255) NOT NULL,
  PRIMARY KEY (id)
);

步骤4:建库

CREATE DATABASE my_db;

步骤5:修改root用户密码

默认情况下,root用户的密码是空的。为了安全起见,您需要修改root用户的密码。可以使用以下命令修改root用户的密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

步骤6:刷新生效

修改root用户的密码后,您需要刷新权限表才能使新密码生效。可以使用以下命令刷新权限表:

FLUSH PRIVILEGES;

步骤7:远程登录root用户

修改root用户的密码并刷新权限表后,您就可以使用远程登录root用户了。可以使用以下命令远程登录root用户:

mysql -u root -p -h 127.0.0.1

步骤8:报错Unable to load auth plugin 'mysql_native_password'

在远程登录root用户时,您可能会遇到以下报错:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

这是因为MySQL 8.0版本默认启用了身份验证插件“caching_sha2_password”,而旧版本的MySQL客户端不支持此插件。要解决此问题,您需要在MySQL服务器上禁用“caching_sha2_password”插件。可以使用以下命令禁用“caching_sha2_password”插件:

ALTER PLUGIN caching_sha2_password DISABLE;

禁用“caching_sha2_password”插件后,您就可以使用旧版本的MySQL客户端远程登录root用户了。

结论

本文介绍了MySQL的使用基础,包括进入MySQL容器、创建数据库和表、修改root用户密码、刷新生效、远程登录root用户等各个步骤。同时,还解决了一些可能遇到的报错问题。希望本文能帮助您轻松掌握MySQL的基础知识和操作技巧。