作为一个小白,常年觉得自己只是一条咸鱼,安心在单位码码业务代码就可以度日,随着年纪增长,觉得还是需要对自己进行充充电,免得被行业淘汰,故而买了一台阿里云服务器,准备开发一套商城代码,结果在一个风和日丽的下午,我准备安装mysql,正当所有的步骤都完成,用navicat远程访问mysql的时候无法连接的情况,查了半天,现在决定把这个过程记录下
第一步就是docker安装
1.1 安装docker 必要的插件
sudo yum install -y yum-utils
1.2 安装docker 安装路径
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
1.3 安装docker的docker engine
sudo yum install docker-ce docker-ce-cli containerd.io
1.4启动docker
sudo systemctl start docker
1.5设置开机自启
sudo systemctl enable docker
1.6 修改docker镜像地址 换成阿里云的地址
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF’
{ "registry-mirrors”:
["https://yfi4h1sg.mirror.aliyuncs.com”]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
到这一步 docker全部安装完成 ,我们可以用docker images 查看镜像 也可以通过docker ps 查看进程
第二步 docker 安装mysql
2.1拉去mysql镜像
docker pull mysql:版本。如果不加 则为最新版本
2.2配置
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
这里安装的时候出了点小插曲 一直提示
invalid reference format
经过检查 docker有非常严格的代码规范 “-”和“-”中英文不同的
安装成功后下面会显示一串字符串 意味着成功,然后进入docker ,进入mysql测试
docker exec -it mysql
mysql -uroot -p
为mysql添加远程访问权限
use mysql;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456'; 这里的123456为你给新增权限用户设置的密码,%代表所有主机,也可以具体到你的主机ip地址
flush privileges; 这句表示从mysql数据库的grant表中重新加载权限数据
select * from user; 查询是否设置成功
2.3测试连接,第一次安装的时候 我就是在这里翻车了!!!!
使用阿里云服务器的话 得注意。阿里云默认只开启22 以及80端口, 如果要进行数据库访问,需要暴露3306端口,需要在安全组里设置,添加对安全组策略
至此所有的安装全部完成,