第一天
先连贯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登录了。