揭开MySQL使用基础的面纱——Docker部署MySQL的详细指南
2023-10-03 23:07:20
前言: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的基础知识和操作技巧。