007-docker-安装-mysql

Posted 木子旭

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了007-docker-安装-mysql相关的知识,希望对你有一定的参考价值。

1、搜索镜像

docker search mysql

2、拉取合适镜像

docker pull mysql:5.6

docker images

3、使用镜像

docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6

命令说明:

  • -p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。

  • -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。

  • -v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。

  • -v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。

  • -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。

个人使用:【推荐】

  3.1、首先启动docker下的mysql【查看配置】

docker run -p 53306:3306 --name mymysql56 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6

  进入docker 容器内

docker exec -it mymysql bash

  此时mysql的链接信息

Host: 127.0.0.1
Port: 3306
UserName: root
Password: 123456

  mysql常用命令

技术图片
连接:mysql -h主机地址 -u用户名 -p用户密码 (注:u与用户名之间不用加空格,密码也一样,若不写-h地址参数,则默认是连接本地地址)
断开:exit (回车)

创建授权:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
修改密码:mysqladmin -u用户名 -p旧密码 password 新密码
删除授权: revoke select,insert,update,delete om *.* [email protected];

显示数据库:show databases;
显示数据表:show tables;
显示表结构:describe 表名;

创建库:create database 库名;
删除库:drop database 库名;
使用库:use 库名;

创建表:create table 表名 (字段设定列表);
删除表:drop table 表名;
修改表:alter table t1 rename t2
查询表:select * from 表名;
清空表:delete from 表名;
备份表: mysqlbinmysqldump -h(ip) -uroot -p(password) databasenametablename > tablename.sql
恢复表: mysqlbinmysql -h(ip) -uroot -p(password) databasenametablename < tablename.sql(操作前先把原来表删除)

增加列:ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT,ADDINDEX (c);
修改列:ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b cCHAR(20);
删除列:ALTER TABLE t2 DROP COLUMN c;

备份数据库:mysqlinmysqldump -h(ip) -uroot -p(password) databasename> database.sql
恢复数据库:mysqlinmysql -h(ip) -uroot -p(password) databasename< database.sql
复制数据库:mysqlinmysqldump --all-databases >all-databases.sql
修复数据库:mysqlcheck -A -o -uroot -p54safer

文本数据导入: load data local infile "文件名" into table 表名;
数据导入导出:mysqlinmysqlimport database tables.txt
View Code

  针对docker mysql image 5.6版本:配置文件位于:/etc/mysql/mysql.conf.d/mysqld.cnf

[mysqld]
pid-file    = /var/run/mysqld/mysqld.pid
socket        = /var/run/mysqld/mysqld.sock
datadir        = /var/lib/mysql
#log-error    = /var/log/mysql/error.log
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

  可以看到数据目录:/var/lib/mysql

  3.2、删除此版本mysql实例

docker rm -f mymysql56

  3.3、定制化启动容器【定制化】

  配置共享目录:Perferences→File Sharing,增加对应的映射目录,即可

docker run -d -p 53306:3306 -v /Users/lihongxu6/docker/mymysql56/conf/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -v /Users/lihongxu6/docker/mymysql56/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mymysql56 mysql:5.6

  接下来使用即可

  

 

 

 

 

 

 

 

以上是关于007-docker-安装-mysql的主要内容,如果未能解决你的问题,请参考以下文章

部分代码片段

linux中怎么查看mysql数据库版本

从mysql的片段中加载ListView

连接MySQL出现错误:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)(代码片段

使用 json rereiver php mysql 在片段中填充列表视图

在Tomcat的安装目录下conf目录下的server.xml文件中增加一个xml代码片段,该代码片段中每个属性的含义与用途