docker安装启动、配置MySql

摘要:
默认情况下,mysqlMYSQL_ ONETIME_ PASSWORD环境变量为true。默认情况下,根用户密码只能使用一次。登录MySQL后,您需要修改根密码。通过以下命令输入mysql容器dockerexec itmysql01bash,进入mysql交互模式,并在dockerlogsmysql01中输入密码mysqluroot p,以更改密码ALTERUSER“root”@“localhost”IDENTIFIEDBY“password”;创建用户,授权。%表示任何地址都可以连接到服务器。CREATEUSER'LZL'@'%'IDENTIFIEDBY'wd123456';授予特权**TO'zl'@'%',带有授权;再次连接navicat,您将成功。

1、安装mysql镜像

docker pull mysql/mysql-server

2、docker中启动Mysql容器

docker run --name mysql01 -d -p 3306:3306 mysql/mysql-server

启动后执行:

docker ps 

image-20200101100252880

通过以下命令查看root的password

docker logs mysql01

image-20200101100509567

navicat连接mysql服务器测试

image-20200101100821215

原因:mysql处于安全考虑,root用户只能在本地登录。

因此我们需要进入容器创建用户并授权。

且mysql MYSQL_ONETIME_PASSWORD环境变量默认为true,root用户密码默认只能使用一次,登录mysql后需要修改root的密码。

通过以下命令进入mysql容器

docker exec -it mysql01 bash

image-20200101101153497

通过以下命令进入mysql交互模式、输入刚才docker logs mysql01中的密码

mysql uroot -p

image-20200101101250796

修改密码

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

创建用户、授权。%代表任何地址都可以连接到服务器。

CREATE USER 'LZL'@'%' IDENTIFIED BY 'pwd123456';

GRANT ALL PRIVILEGES ON *.* TO 'LZL'@'%' WITH GRANT OPTION;

再次利用navicat连接,即可成功。

image-20200101102956619

3、上面较为麻烦,还需进入mysql修改想对应的设置,下面一条命令即可配置全部信息。包括设置字符集、用户、密码等操作。-e 代表环境变量 -d 以后台模式运行容器 -p端口映射 --character-set-server为mysql字符集设置

docker run -d -p 3306:3306 
-e MYSQL_USER="lzl" 
-e MYSQL_PASSWORD="password" 
-e MYSQL_ROOT_PASSWORD="password" 
--name mysql01 
mysql/mysql-server 
--character-set-server=utf8 
--collation-server=utf8_general_ci

免责声明:文章转载自《docker安装启动、配置MySql》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇在移动端H5开发中(关于安卓端position:fixed和position:absolute;和虚拟键盘冲突的问题,以及解决方案)[转] 用ModelSim仿真PLL模块下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【Navicat】MySQL 8.0.17 数据库报2059错误

【Navicat】MySQL 8.0.17 数据库报2059错误 Navicat 建立MySQL连接时报错: 解决方法来自博文:https://blog.csdn.net/jabony/article/details/81436635 原文如下: 前提: 最近新安装了MySQL 8,用Navicat连接时出现了出现2059错误 原因:这是由于新版本的M...

mysql导出表导入表到tidb

前提在有mysql客户端的服务器上  1、导出并压缩  mysqldump -h database_ip -P 4000 -u root -p database_name(库名) tables_name(表名) |gzip >tables_name.sql.gz 2、解压导出文件  gunzip  tables_name.sql.gz 3、导入tid...

docker 界面话管理工具Portainer

1、环境:docker-desktop 2、docker已安装 3、安装Portainer : 1、docker pull portainer/portainer2、docker run -d -p 19000:9000 -v //var/run/docker.sock:/var/run/docker.sock -v D:dockersportainerd...

二十四、Mysql读写分离之Atlas

一、Atlas介绍 Atlas是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量bug,添加了很多功能特性。目前该项目在360公司内部得到了广泛应用,很多MySQL业务已经接入了Atlas平台,每天承载的读写请求数达几十亿条...

Python 持久化管理之 Pickle/ZODB

1.对象持久化 如果希望透明地存储 Python 对象,而不丢失其身份和类型等信息,则需要某种形式的对象序列化: 它是一个将任意复杂的对象转成对象的文本或二进制表示的过程。同样,必须能够将对象经过序列化后的形式恢复到原有的对象。 在 Python 中,这种序列化过程称为 pickle,可以将对象 pickle 成字符串、磁盘上的文件或者任何类似于文件的对象...

MySQL 半同步复制+MMM架构

介绍上篇文章介绍了MMM架构的实现方法,但是上篇文章的MMM方案的复制是异步复制,异步复制的主要问题在于当主从存在延时时如果主机出现了故障导致了主从切换时这时将会存在数据丢失;mysql为了解决异步复制数据丢失的问题增加了半同步复制,半同步复制存在5.5以上的版本,半同步复制的原理是客户端在事务提交时必须等待从库接收到binlog的回应之后才能提交事务(...