• 007-docker-安装-mysql:5.6


    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 *.* fromtest2@localhost;
    
    显示数据库: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

    配置密码授权

    没密码登录
    mysql -uroot;
    1、查找用户名和密码
    select * from mysql.user;
    用户名是:root  密码是:MD5加密过的动态码,无法破解。
    2、设置
    方法1: 用SET PASSWORD命令 
    首先登录MySQL。 
    格式:mysql> set password for 用户名@localhost = password('新密码'); 
    例子:mysql> set password for root@% = password('PMT2b4xoCcJOgTz0'); 
    
    方法2:用mysqladmin 
    格式:mysqladmin -u用户名 -p旧密码 password 新密码 
    例子:mysqladmin -uroot -p123456 password 123 
    
    方法3:用UPDATE直接编辑user表 
    首先登录MySQL。 
    mysql> use mysql; 
    mysql> update user set password=password('123') where user='root' and host='localhost'; 
    mysql> flush privileges; 
    
    登录;
    mysql -uroot -p123;
    查看端口
    入mysql后,输入命令:show global variables like 'port';
    
    报错:Host '192.168.162.16' is not allowed to connect to this MySQL server
    use mysql;
    select host from user where user='root';
    可以看到当前主机配置信息为localhost.
    执行
    update user set host = '%' where user ='root' and host='localhost';
    将Host设置为通配符%。
    Host修改完成后记得执行
    flush privileges;
    使配置立即生效。

      针对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 -v /Users/lihongxu6/docker/mymysql56/slow_log/slow.log:/var/log/mysql/slow.log --name mymysql56 mysql:5.6

      接下来使用即可

      

  • 相关阅读:
    三.php变量赋值和销毁
    四.php运算符(1)算术运算符
    四.php运算符(2)比较运算符
    四.php运算符(4)逻辑运算符
    extjs与后台交互
    EXT2.0 form实例
    SQL Server 2005 中的计算字段
    extJSitemselector的使用
    操作二进制数据
    Extjs Itemselector的使用示例
  • 原文地址:https://www.cnblogs.com/bjlhx/p/10538781.html
Copyright © 2020-2023  润新知