阿里云、腾讯云、CentOS下的MySQL的安装与配置详解

一、 安装

  1. 查看是否已安装
    # 查看MySQL版本 mysql --version# 查看MySQL相关文件 whereis mysql

    阿里云、腾讯云、CentOS下的MySQL的安装与配置详解
    文章图片
  2. 若已安装,卸载方法如下
    # 卸载MySQL yum remove mysql

  3. 安装
    1. 查看yum源可安装的MySQL版本
      # 查看可安装的MySQL版本 yum repolist all | grep mysql

      阿里云、腾讯云、CentOS下的MySQL的安装与配置详解
      文章图片

    2. 一个都没有。。。因为某些原因,CentOS默认的yum源不提供MySQL了,所以要去官网获取适合自己系统版本的MySQL版本的源 https://dev.mysql.com/downloads/repo/yum/
      #查看Centos版本的命令 cat /etc/issue

      阿里云、腾讯云、CentOS下的MySQL的安装与配置详解
      文章图片

    3. 开始动手
      # 添加MySQL5.7的源 wget http://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm sudo yum localinstall mysql80-community-release-el7-5.noarch.rpm -y

      阿里云、腾讯云、CentOS下的MySQL的安装与配置详解
      文章图片

      阿里云、腾讯云、CentOS下的MySQL的安装与配置详解
      文章图片

      # 再次查看yum源MySQL版本 yum repolist enabled | grep mysql

      阿里云、腾讯云、CentOS下的MySQL的安装与配置详解
      文章图片

      # 安装MySQL sudo yum install mysql-server -y# 查看安装的版本 mysql --version

      阿里云、腾讯云、CentOS下的MySQL的安装与配置详解
      文章图片

    4. 启动MySQL数据库
      # 启动MySQL sudo service mysqld start # 重启MySQL sudo service mysqld restart # 查看MySQL状态 sudo service mysqld status # 停止MySQL sudo service mysqld stop

      阿里云、腾讯云、CentOS下的MySQL的安装与配置详解
      文章图片

二、 初始密码、重置密码、修改密码
  1. 获取初始密码
    # 获取初始密码 sudo grep 'temporary password' /var/log/mysqld.log

    阿里云、腾讯云、CentOS下的MySQL的安装与配置详解
    文章图片

  2. 修改密码
    # 用初始密码登录 mysql -uroot -p# 重置密码(密码要满足要求,就是要复杂一点) # 如果想要简单的密码,要修改密码策略 参考 https://www.cnblogs.com/liuhedong/p/11131693.html ALTER USER 'root'@'localhost' IDENTIFIED BY '密码'; ## 我修改了长度和策略(策略为0,长度限制最新6位) Set Persist validate_password.policy = 0; Set Persist validate_password.length = 6;

  3. 忘记密码重置密码
    # 查询配置文件位置 mysql --help|grep 'my.cnf'

    阿里云、腾讯云、CentOS下的MySQL的安装与配置详解
    文章图片

    # 修改配置文件 在[mysqld]下添加参数skip-grant-tables vim /etc/my.cnf # 重启MySQL sudo service mysqld restart

    阿里云、腾讯云、CentOS下的MySQL的安装与配置详解
    文章图片

    # 无密码登录 mysql -u root # 密码设为空(试过了,不能修改密码,只能为空) use mysql; update user set authentication_string = '' where user = 'root'; # 修改配置文件 删除参数skip-grant-tables vim /etc/my.cnf # 重启MySQL sudo service mysqld restart # 无密码登录 mysql -u root # 修改密码 ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';

三、修改host实现远程连接
  1. 背景
    • 数据库装好了
    • 密码也整好了
    • 端口也配置好了
    • 云服务器端口也开放了

navicat还是连不上远程服务器的数据库!!!!
阿里云、腾讯云、CentOS下的MySQL的安装与配置详解
文章图片

  1. 原因
    用户Host属性为localhost,就只能服务器本地连接,所以连不上
  2. 解决办法
    将Host属性改为通配符‘%’,远端就可以了
    # 登录MySQL mysql -uroot -p# 修改当前数据库 use mysql; # 查看用户的Host属性 select User,Host from user; # 修改用户属性 update user set host = '%' where user = 'root'; # 刷新权限 flush privileges;

四、 添加新用户并授权
参考 https://www.jianshu.com/p/d7b9c468f20d
  1. 背景
    大多数情况下,为了保证数据安全,我们的数据库操作都不是用root用户,某些用户只能读,某些用户可写可读,某些用户只能操作某一个数据库而不是整个MySQL数据库
  2. 解决办法
# 新增用户(密码可以为空) CREATE USER '用户名'@'登录权限' IDENTIFIED BY '密码';

阿里云、腾讯云、CentOS下的MySQL的安装与配置详解
文章图片

# 授权 GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'登录权限'

【阿里云、腾讯云、CentOS下的MySQL的安装与配置详解】阿里云、腾讯云、CentOS下的MySQL的安装与配置详解
文章图片

    推荐阅读