centos7安装mysql

 注:centos7下直接利用yum安装mysql,则安装的是mariadb,而不是mysql,这里说的是安装mysql数据库

1、配置yum源

  百度云地址: http://pan.baidu.com/s/1sl7bBIl

  ①  在MySQL官网中找到YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/ 

  ②  下载mysql源安装包:  wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

  ③  安装yum源: yum localinstall mysql57-community-release-el7-11.noarch.rpm

  ④  检查是否安装成功:  yum repolist enabled | grep "mysql.*-community.*"

  

  看到上图表示安装成功。

2、安装mysql

  安装好yum源过后就可以直接安装mysql了: yum install mysql-community-server

3、启动mysql

  systemctl start mysqld

4、修改本地root密码

  ①  进入mysql数据库

    在命令行输入mysql -uroot -p,确定过后,再输入密码,进入mysql数据库。

    

  ②  如果忘记密码,无法进入数据库,则先修改配置。然后添加skip-grant-tables。保存过后,不用输入密码可以直接进入数据库。

  #    vim /etc/my.cnf

  # :wq

  

  ③  选择mysql数据库: use mysql;

   

  ④  修改密码

    注:低版本的mysql修改密码的方式有点不用

  

  ⑤ 去掉配置文件中的skip-grant-tables, 重启mysql服务

  ⑥ 重新进入mysql数据库,这时候操作任何语句都是没有办法操作的,都会提示ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement。这时需要重新设置一下密码。

  ⑦  重新设置密码,alter user 'root'@'localhost' identified by '新密码'

    

  ⑧  在设置密码时,由于新版本自带的安全验证要求,简单的密码是无法通过的,会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

  ⑨  如果需要设置简单密码,将安全验证去掉即可:

    set global validate_password_policy=0;

    set global validate_password_length=1;

    set global validate_password_mixed_case_count=2;

   ⑩  查看密码策略 show variables like '%password%';

    

    validate_password_policy:密码策略,默认为MEDIUM策略 
    validate_password_dictionary_file:密码策略文件,策略为STRONG才需要 
    validate_password_length:密码最少长度 
    validate_password_mixed_case_count:大小写字符长度,至少1个 
    validate_password_number_count :数字至少1个 
    validate_password_special_char_count:特殊字符至少1个 

5、新建普通操作用户

  ①  利用root用户进入数据库

  ②  选择mysql数据库: use mysql;

   ③ 创建远程用户

    CREATE USER 'origalom'@'%' IDENTIFIED BY '123456';

  ④  为用户授权,授权格式为:  grant 权限 on 数据库.* to 用户名@登录主机 identified by “密码”;

    授权用户拥有操作test数据库所有数据的权限:grant all privileges on test.* to 'origalom'@'%' identified by '123456'; 

    授权用户拥有操作test数据库某些数据的权限:grant select,update on test.* to 'origalom'@'%' identified by '123456'; 

    授权用户拥有操作所有数据库的权限:grant  select,delete,update,create,drop on . to 'origalom'@'%' identified by '123456'; 

  ⑤ 刷新权限

    flush privileges; 

  注: 取消授权命令格式     REVOKE privilege ON databasename.tablename FROM 'username'@'host';

6、开放mysql的防火墙端口

1 sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
2 sudo firewall-cmd --reload

   说明:上面使用的是firewalld,如果使用的是iptables,则根据iptables的配置开放端口

  

原文地址:https://www.cnblogs.com/origalom/p/7723584.html