zoukankan      html  css  js  c++  java
  • docker下安装MySQL

    在hub.docker.com上面,MySQL,有两个,一个MySQL,有个MySQL-Server,后面一个是优化过后的

    docker pull mysql/mysql-server

    MySQL端口默认是3306:映射到3306

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

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

    然后,用Navicat连接MySQL,是连接不上去的,因为没有在MySQL上加用户和设置

    docker logs mysql01

    打印日志,可以看到里面默认的密码 ROOT PASSWORD

     

    -ek1icEPaL@nwIGub]0K3lub93c

    登录进去把密码改了

    借用这面这个命令,进入系统环境

    docker exec -it mysql01 bash

     

    mysql -uroot -p

    然后出入密码 -ek1icEPaL@nwIGub]0K3lub93c

     

    以上只能第一次的时候,用这个能进来,如果下面创建了新的账号,就应该用新的进来

    mysql -utest -p 这个test是自己设定的

    密码是自己设定的

    阅读下去就知道了

    use mysql

    会提示我们改密码

    SET PASSWORD FOR 'root'@'localhost' = PASSWORD('password123');

    上面这种方式貌似不行,使用的是下面这种:

    输入ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

    新密码是:123456

     

    修改完密码之后,use mysql,选择数据库

    select user,host from user;

     

    root用户只能通过localhost来登录,可以修改,但是一般不让别人登录,因为不安全

    我们只能自己起一个账号

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

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

     

    用Navicat登录的时候,就用test 密码是pwd132456,来连接

    我把上面改成了bingle,密码是123456

     

    这样之后,没有指定字符集,可能会出现乱码的情况,所以

    show variables like '%char%';

     

    exit;退出mysql

    再用Navicat连接mysql出现这种提示:

     

    ALTER USER 'root'@'localhost' IDENTIFIED BY '你的mysql密码' PASSWORD EXPIRE NEVER; #修改加密规则 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的mysql密码'; #修改密码 FLUSH PRIVILEGES; #刷新数据

     

    然后就可以了:

     

    连接上之后:

     

    cd /etc

    ls

    cat my.cnf

     

    yum install vim 把编辑器安装起来

     

    出现了5000%多,这就出问题了

    取消重新开始

    这里出现这个,选择yes,继续下载

     

    安装成功之后,输入vim就可以看到这个命令了

     

    可以按住shift+: 然后输入:q!

    进来之后,按道理是:q! 强制退出不做保留

    ls

     

    cd /etc

    ls

    vim my.cnf

    这样就用vim打开了my.cnf

     

    修改MYSQL 默认字符集:

    添加到my.cnf

    输入i就可以在里面编辑下面内容了

    [mysqld]

    character-set-server=utf8

    [client]

    default-character-set=utf8

    [mysql]

    default-character-set=utf8

     

    先按ESC,然后按下shift+:出现:之后,输入wq,然后回车,就可以了

    然后

    cat my.cnf 来看一下

     

    可以用容器重启的方式重启mysql,一旦我们出现错误重启容器,重启不了的话,没有启动,就么有办法通过exec进入到这个容器,所以就比较危险

     

  • 相关阅读:
    Win7+CentOS7双系统安装
    python中的 __getattr__ __setattr__ __getitem__ __add__
    对象.函数名 叫方法 和 类.函数名 叫函数
    python中的__str__ __name__ 和__call__方法
    flask中的登录验证 装饰器版 befor_request版
    装饰器
    Django model中的 class Meta 详解
    跨域问题cors
    reids缓存
    python-django目录
  • 原文地址:https://www.cnblogs.com/taotaozhuanyong/p/11587590.html
Copyright © 2011-2022 走看看