第一天

先连贯docker的mysql
一、docker拉取镜像

docker pull mysql  (默认拉取最新版本的)

二、运行mysql

docker run -p 3308:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql

容器名:mysql   明码:123456

三、查看是否运行

docker ps -a

四、查看启动日志

docker logs mysql

mysql就是刚刚启动的容器名,确认mysql启动是失常的

五、谬误

当我用Navicat进行链接的时候,发现下图谬误

咱们须要上面的解决形式

1、进入mysql客户端

docker exec -it c6c8e8e7940f /bin/bash

其中c6c8e8e7940f是我的mysql的容器名

----等价命令  docker exec -it mysql /bin/bash

mysql -u root -p123456

123456就是mysql的登录明码,在docker run的时候设置的

2、查看用户信息

select host,user,plugin,authentication_string from mysql.user;

 3、从新设置明码

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'newpassword'

newpassword就是新的明码

我把明码设置成了‘mysql’

4、应用Navicat从新连贯

 

附:也能是防火墙的问题

sudo firewall-cmd --add-port=3306/tcp  (放开3306的端口)

或者

 sudo systemctl stop firewalld (敞开防火墙)

到材料后,把外面虚拟机进行解压,而后用VMware虚拟机软件关上Centos-changgou.vmx,
而后关上,用户名:root,明码:123456。
外面前期用到的环境都曾经装置好了,不须要咱们浪费时间搭建环境。
接下来须要关上VMware-编辑-虚构网络配置 关上NAT设置


而后点击NAT设置,批改IP

接下来在CentOS终端中输出 vi /etc/sysconfig/network-scripts/ifcfg-ens33

reboot重启虚拟机,而后就能够通过ssh工具对其进行连贯,ip是192.168.1.99明码123456
而后进入mysql容器

`docker exec -it mysql /bin/bash` *   1

重置mysql明码
首先关上配置文件的命令

`vi /etc/mysql/my.cnf` *   1

在最初增加

`[mysqld]skip-grant-tables` *   1*   2

重启msyql

`docker restart mysql` *   1

再次登录

`mysql -uroot -p` *   1

设置root明码为空

`use mysql;select user,authentication_string,host from user;` *   1*   2*   3

更新为空

`update user set authentication_string='' where user='root';flush privileges;` *   1*   2*   3

退出mysql,再次执行vi /etc/mysql/my.cnf,把之前增加的内容删掉,保留。

应用root登录

`mysql -u root` *   1

批改明码为root

`alter user 'root'@'localhost' IDENTIFIED BY 'root';alter user 'root'@'%' IDENTIFIED BY 'root';flush privileges;` *   1*   2*   3*   4*   5

这时你的mysql登录明码就能够应用root登录了。

navicat连贯数据库