服务器部署之mysql的安装(yum)

1,我们的项目,是一个springboot项目,redis,mq,tomcat,以及我们的项目,都是放在docker中的,但是为什么mysql不安装在docker中呢? 最重要的原因,mysql是存数据的,docker有一个缺点,当移除容器,容器中的东西全没了,如果把mysql安装在docker中,是非常不安全的,万一服务器出现问题,所有的数据都找不回来了,所以,不建议把mysql安装在docker中!

2,下面我们来说说mysql的安装

第一步,进入mysql官网,找到你要安装的myswl版本https://dev.mysql.com/downloads/repo/yum/

点击download,进入如下页面,

笔者用的谷歌浏览器,在如图所示未知单击右键,复制链接地址,

如图所示,我们把复制的链接地址放到浏览器中,能清晰地看到这个地址,接下来,进入到你的服务器中,cd到你要安装的目录,wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

如图所示,我们看到已经完成,接下来,yum -y localinstall mysql57-community-release-el7-11.noarch.rpm

执行安装,

经过一顿操作猛如虎之后,我们看到已经complete了!这里需要注意的是,yum -y localinstall 后面的版本,一定要跟你wget下来的是一样的!

接下来,我们来查看一下mysql的版本号mysql -V命令

我们来启动mysql,命令 systemctl start mysqld

查看mysql运行状态systemctl status mysqld

我们看到mysql是active的,running状态

我们来设置mysql开机自启,命令systemctl enable mysqld

因为mysql是我们新安装的服务,归属于 systemctl 管理,要是新服务的服务程序配置文件生效,需重新加载。                               命令systemctl daemon-reload

mysql安装完成之后会生成一个默认密码在/var/log/mysqld.log文件中,要登录mysql,必须先获取这个密码。

获取文件:如果是打开文件后,在命令行下输入"/要搜索关键字"

当然你也可以在不打开文件的情况下看到这个,使用cat命令,cat 文件名 | grep "关键字"

在这里,我们使用cat /var/log/mysqld.log | grep password

我们看到了初始密码

在这里,我尝试用navicat远程连接了一下我们新安装的mysql,发现连不上,是为什么呢?因为我们还没有开启远程连接,当前mysql我们只能在本机上使用。

既然这样,那我们待会把它开启远程连接就好了,我们先用刚才看到的密码登录mysql,命令  mysql -u root -p

当我们输入这个命令之后提示我们输入密码,把刚才看到的密码拷贝下来右键,回撤,ok,进来了

然后我们首先要做的就是修改初始密码;

三个命令供参考,分别是:

set password = password('要修改成的密码');

UPDATE user SET Password = 'new-password' WHERE User = '要修改成的密码';

ALTER USER 'root'@'localhost' IDENTIFIED BY '要修改成的密码';

这里我们选择了第三条命令,提示我们此密码不满足当前mysql的策略?呃呃呃呃呃,查了一下资料,版本不同策略还不同,这里我们安装的是5.7版本的,使用下面两条命令修改策略,

set global validate_password_policy=0;

set global validate_password_length=1;

还不错,两条命令都ok了,那就好,那我们再来尝试修改密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '要修改成的密码';

我们看到已经ok了,这里我们已经修改了mysql  root用户的密码,我们flush一下,flush privileges ;

然后,我们退出mysql,尝试用新密码进入一下,exit;

mysql -u root -p

我们看到已经进来了,说明修改密码成功。

接下来,我们来开启一下远程登录

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的数据库密码' WITH GRANT OPTION;

执行完这句,我们看到ok了,当然,我们还是要flush一下flush privileges; 

接下来,理论上,我们可以用navicat可视化连接mysql了,我们来试一下。

输入ip地址,默认用户名root,密码,保存,双击刚刚添加的连接,呃呃呃呃呃,我们发现,过了大概二十秒,出现

奇怪,明明开启了远程连接,为什么还是不行呢??

我们来查看一下3306端口运行状态  netstat -aptn |grep -i 3306

我们看到,3306端口是活的,running状态,不应该啊,再想想....

会不会是防火墙没有关呢?我们来查看一下防火墙状态   systemctl status firewalld

这个不查不知道,一查吓一跳啊,还真是,防火墙running的,赶快关掉试试,  systemctl stop firewalld

我们看到没有输出,那作为我呢,不报错,我就认为没错,我们来尝试连接一下,

连接成功!连接成功!连接成功!

终于成功了,这就说明可以用了,那大家不要忘记,万一服务器关了,再开,防火墙会自动打开,这时候又会出现访问不到的情况,所以,一定要永久关闭防火墙。   systemctl disable firewalld

好了,到这里,今天的文章就写完了,我是Frank_lins,文章底部有我的微信,欢迎交流。谢谢大家的查看,感谢!如果觉得还不错,或者你觉得对自己有用,欢迎转载!

ps:第一次写博客,有很多不对之处,欢迎大家交流改成,谢谢。

猜你喜欢

转载自blog.csdn.net/BigMathcl/article/details/106882854