Centos(Linux)安装/重装MySQL8.0及设置允许远程连接

centos7下重装MYSQL

前言:由于我在腾讯云上的MySQL被黑客黑了(直接开放了服务器所有端口,而且MySQL允许任何IP远程连接),所以不得不重装一波MySQL

附被黑客黑的图:
(还好只是自己玩的站,数据也不是很多。。)
Centos(Linux)安装/重装MySQL8.0及设置允许远程连接

卸载原有MySQL

  • 如果还没有安装MySQL的服务器可以直接跳过这一步
  1. 执行 yum remove mysql mysql-server mysql-libs mysql-server
  2. 执行 rm -rf /var/lib/mysql
  3. 执行 rpm -qa | grep mysql
  4. 将第三步找出来的RPM包,执行 yum remove 包名进行卸载

全部完成之后,你就彻底卸载了MySQL啦
Centos(Linux)安装/重装MySQL8.0及设置允许远程连接

安装新版MySQL

  1. 选择自己需要安装的版本,我们可以在mysql官方包网址选择我们需要的包,本次我选择的是(mysql80-community-release-el7-2.noarch.rpm)
  2. 执行 wget http://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm
  3. 下载完成后,执行 yum localinstall mysql80-community-release-el7-2.noarch.rpm来安装下载的包
  4. 执行 sudo yum install mysql-server安装MySQL服务
  5. 接下来就是等待下载完成,中途需要输下y
  6. 安装完成后执行mysql可能会出现 ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2) 这样的错误,这是由于文件权限导致的,我们执行 sudo chown -R root:root /var/lib/mysql来解决 (权限改为当前用户)

Centos(Linux)安装/重装MySQL8.0及设置允许远程连接
需要注意的是,MySQL8.0的初始密码和传统不一样了,需要执行grep ‘temporary password’ /var/log/mysqld.log来查看root用户的初始密码

建议立即修改初始密码

执行ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘your-password’ 来修改密码

其他

允许用户远程连接MySQL

  • 考虑到使用navicat等工具比较方便,所以还是开放远程连接
  • 连接MySQL,执行 use mysql
  • 执行 select host,user from user
  • Centos(Linux)安装/重装MySQL8.0及设置允许远程连接
  • 执行 create user ‘root’@‘你需要的IP’ identified by ‘你的密码’ 来添加白名单,最好IP别直接加’%’,我就是血的教训
  • 执行 grant all on *.* to ‘root’@‘你的IP’; 来进行授权 ,*.*代表所有库的所有表权限
  • 别忘了执行 flush privileges来刷新权限
  • Centos(Linux)安装/重装MySQL8.0及设置允许远程连接

体验新版MySQL的特性吧