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