zoukankan      html  css  js  c++  java
  • centos7 安装mysql5.7以及一些细节问题

           突然发现我的新服务器上没有mysql,所以想安装一个,上次在我的window电脑上安装MySQL8.0我真的要气死了,和5.7修改密码的方式不一样,弄了很久,所以我决定还是不用安装8.0了,5.7就可以了。安装MySQL有很多细节需要注意的,这应该就是为什么程序员经验那么重要的原因吧。

    然后同样有两种方式安装,直接安装,或者放在docker里面安装,这里我为了省事就直接安装了。

    进入正题:

           首先我们需要去官网找下载地址,我就直接贴出来:http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

    然后直接输入

    wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

    然后就可以开始安装了:

    yum -y install mysql57-community-release-el7-10.noarch.rpm

    这里就不放图片了,看到complete!就是成功了。

    有了rpm之后,我们就可以直接安装MySQL了:

    yum -y install mysql-community-server

    安装完之后我们需要重启MySQL:

    systemctl restart mysqld 

    然后可以查看MySQL的端口号:

    netstat -anplt

    MySQL默认端口号是 3306 ,但是此时我们不知道MySQL的密码,我们需要去找到密码:

    grep "password" /var/log/mysqld.log

    找到之后就进入MySQL:

    mysql -uroot -p

    然后输入刚才的密码就进入MySQL了,但是不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库修改密码命令:

    ALTER USER 'root'@'localhost' IDENTIFIED BY '123';

    这里MySQL会提示你密码过于简单,无法修改,正常需要8位长度,混合大小写以及一位特殊符号。

    重新修改完成之后,我们可以查看密码规则:

    SHOW VARIABLES LIKE 'validate_password%';

    然后再修改密码规则:

    set global validate_password_policy=LOW;

    设置密码长度:

    SET GLOBAL validate_password_length=6;

    再次修改密码就行了。为了防止更新带了的问题,我们需要删除源自动更新,因为安装了Yum Repository,以后每次yum操作都会自动更新,因为当前数据库已安装完成,所以把这个卸载掉:

    yum remove mysql57-community-release.noarch

    然后初始化数据库:

    mysql_secure_installation

    这是我们需要输入密码,然后一直按回车就可以了。那么MySQL就安装好了,那此时我们发现并不能远程登陆。

    所以首先我们需要防火墙开放3306的端口。

    firewall-cmd --list-ports

    然后查看到

    确实没有开放3306这个端口,开放端口

    firewall-cmd --permanent --zone=public --add-port=3306/tcp

    重启防火墙,一定要重启才有效:

    systemctl restart firewalld

    如果是阿里云服务器的话,需要进入控制台将服务器防火墙的规则修改,开放3306这个端口就可以了。当一切都做好的时候,发现还是无法远程连接MySQL,这个时候需要进入MySQL授权远程登陆:先进入MySQL,然后

    use mysql

    然后将所有数据库的所有表(*.*)的所有权限(all privileges),授予通过任何ip(%)访问的root用户,密码为1234

    mysql> grant all privileges on *.* to 'root'@'%' identified by '1234';

    最后刷新就可以了

    flush privileges;

    然后退出MySQL,在重启MySQL就可以啦,就可以远程访问了。

    本博文参考的博文:https://blog.51cto.com/13043516/2093766

    以及https://www.cnblogs.com/rongfengliang/p/5727088.html,谢谢两位作者!

  • 相关阅读:
    BZOJ3156 防御准备
    BZOJ1911 [APIO2010] 特别行动队
    BZOJ1096 [ZJOI2007] 仓库建设
    HDU
    斜率优化的各种板子
    HDU
    HDU
    HDU
    HDU
    HDU
  • 原文地址:https://www.cnblogs.com/Ivan-Wu/p/10465955.html
Copyright © 2011-2022 走看看