CentOS 7下yum成功安装 MySQL 5.7

第一部分:CentOS 7安装MySQL 5.7

1.下载YUM

shell > wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm

2.安装YUM

shell > yum localinstall -y mysql57-community-release-el7-7.noarch.rpm

3.安装数据库

shell > yum install -y mysql-community-server

4.启动MySQL服务

shell >systemctl start mysqld.service

5.

shell > mysql -uroot -p

tip :mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:

shell> grep 'temporary password' /var/log/mysqld.log

6.重置root密码后重启mysql服务

shell >update mysql.user set authentication_string=password("yourpassword")where user="root" and Host="localhost";

shell > flush privileges;

shell > quit;

shell >systemctl restart mysqld;

如果手贱或者不知道啥原因出现如下问题:

ERROR 1045(28000): Access denied for user 'root'@'localhost' (using password: NO)

请修改my.cnf,添加skip-grant-tablesskip-networking

shell > vi /etc/my.cnf

[mysqld]

skip-grant-tables

skip-networking

重启mysql,然后重复以上修改密码步骤即可,记得修改完后,去掉my.cnf添加的两行。

第二部分:配置

1、添加远程登录用户(登入Mysql)

use mysql;

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

注:'%'代表任意地址,也可以指定IP

2、检查用户表,刷新内存权限

select host,user from user;

FLUSH PRIVILEGES;

通过msyql环境变量可以查看密码策略的相关信息:

mysql> 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个  上述参数是默认策略MEDIUM的密码检查规则。

共有以下几种密码策略:

策略 检查规则
0 or LOW Length
1 or MEDIUM Length; numeric, lowercase/uppercase, and special characters
2 or STRONG Length; numeric, lowercase/uppercase, and special characters; dictionary file

MySQL官网密码策略详细说明:http://dev.mysql.com/doc/refman/5.7/en/validate-password-options-variables.html#sysvar_validate_password_policy

修改密码策略

在/etc/my.cnf文件添加validate_password_policy配置,指定密码策略

# 选择0(LOW),1(MEDIUM),2(STRONG)其中一种,选择2需要提供密码字典文件
validate_password_policy=0

如果不需要密码策略,添加my.cnf文件中添加如下配置禁用即可:

validate_password = off

重新启动mysql服务使配置生效:

systemctl restart mysqld

6、添加远程登录用户

默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,我添加一个新的帐户:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'yangxin'@'%' IDENTIFIED BY 'Yangxin0917!' WITH GRANT OPTION;

7、配置默认编码为utf8

修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'

重新启动mysql服务,查看数据库默认编码如下所示:


默认配置文件路径:  配置文件:/etc/my.cnf  日志文件:/var/log//var/log/mysqld.log  服务启动脚本:/usr/lib/systemd/system/mysqld.service  socket文件:/var/run/mysqld/mysqld.pid

3、设置防火墙(CentOS7不推荐)

vi /etc/sysconfig/iptables

-A RH-Firewall-1-INPUT -j REJECT –reject-withicmp-host-prohibited之前,添加

-A INPUT -m state--state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

重启防火墙

service iptablesrestart

注:centos7使用的是firewall防火墙

systemctl stop firewalld.service #停止

systemctl disable firewalld.service #禁用

4、设置字符编码集和区分大小写

4.1修改mysql配置文件(设置字符编码集)

默认位置:/etc/my.cnf

进入etc文件夹>>vimmy.cnf

[mysqld]

character-set-server=utf8

collation-server=utf8_general_ci

* systemctl restart mysql.service #重启MySQL

* 查看当前mysql运行状态

mysql>status

参数说明:

haracter_set_client:客户端请求数据的字符集。

character_set_connection:从客户端接收到数据,然后传输的字符集。

character_set_database:默认数据库的字符集,无论默认数据库如何改变,都是这个字符集;如果没有默认数据库,使character_set_server指定的字符集,此参数无需设置。

character_set_filesystem:把操作系统上文件名转化成此字符集,即把character_set_client转换character_set_filesystem,默认binary即可。

character_set_results:结果集的字符集。

character_set_server:数据库服务器的默认字符集。

character_set_system:这个值总是utf8,不需要设置,存储系统元数据的字符集。

4.2修改mysql配置文件(设置区分大小写)

lower_case_table_names参数详解:

0:区分大小写

1:不区分大小写



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值