共计 1529 个字符,预计需要花费 4 分钟才能阅读完成。
第一天
先连贯 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 连贯数据库