Centos7.4安装并配置Mysql5.7

一般我们选择安装Centos的最小安装,然后我们在使用好多工具的时候就会报错!wget不会默认被安装。需要安装的看我之前的博客。
1、配置YUM源

下载mysql源安装包

[root@localhost~]#wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

安装mysql源

[root@localhost~]# yum localinstall mysql57-community-release-el7-8.noarch.rpm 
提示【Is this ok [y/d/N]: y  输入y回车】
检查MySQL源是否安装成功 
[root@localhost ~]# yum repolist enabled | grep “mysql.-community.”

2、安装MySQL

[root@localhost ~]# yum install mysql-community-server

注意:安装过程中提示【Is this ok [y/d/N]: y 输入y回车】
出现以下表示安装成功:

Replaced:
  mariadb-libs.x86_64 1:5.5.56-2.el7                                                                                                          

Complete!

3、启动MySQL服务

[root@localhost ~]# systemctl start mysqld 
查看MySQL的启动状态 
[root@localhost ~]# systemctl status mysqld

4.开机启动

[root@localhost ~]# systemctl enable mysqld
[root@localhost ~]# systemctl daemon-reload
  1. 查看mysql下root账号的默认密码
    mysql5.7安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql。
    命令:grep ‘temporary password’ /var/log/mysqld.log
[root@localhost /]# grep 'temporary password' /var/log/mysqld.log
2017-10-17T08:07:03.797098Z 1 [Note] A temporary password is generated for root@localhost: 3prjY9ktM,eL
[root@localhost /]# 
默认的密码是:3prjY9ktM,eL
  1. 修改配置文件
    6.1. 默认配置文件路径
    配置文件:/etc/my.cnf
    日志文件:/var/log//var/log/mysqld.log
    服务启动脚本:/usr/lib/systemd/system/mysqld.service
    socket文件:/var/run/mysqld/mysqld.pid
    6.2. 修改my.cnf文件
    6.2.1. 修改密码策略
    mysql的密码策略分为三种:
    0或LOW:Length
    1或MEDIUM:Length; numeric, lowercase/uppercase, and special characters
    2或STRONG:Length; numeric, lowercase/uppercase, and special characters; dictionary file

在my.cnf文件中增加如下设置

如果不需要密码策略,禁用密码策略

validate_password = off

密码选择策略 0-LOW,1-MEDIUM,2-STRONG需要提供密码字典文件

validate_password_policy = 0

6.2.2. 修改字符编码为utf8
在[mysqld]下增加如下配置
character_set_server = utf8
init_connect = ‘SET NAMES utf8’

例:
[root@localhost /]# cd /etc/
[root@localhost etc]# vi my.cnf
validate_password = off# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
validate_password = off  #设置禁用密码策略

character_set_server = utf8  #修改字符编码为utf8
init_connect = 'SET NAMES utf8'

6.2.3. 保存my.cnf并重启mysql服务是配置生效
命令:systemctl restart mysqld

登录mysql

命令:mysql -uroot -p
输入密码:默认为刚才查到的密码”3prjY9ktM,eL”

[root@localhost etc]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.20

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

修改密码
命令:ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘12345678’;
或命令:set password for ‘root’@’localhost’=password(‘12345678’);

说明:
1. 如果之前没有设置密码策略,则密码12345678则不会通过验证,密码修改会失败

  1. 密码修改不成功时则部分功能也无法使用,例如查看密码策略 show variables like ‘%password%’;

  2. 查看密码策略
    命令:show variables like ‘%password%’;
    此处为 validate_password = off 设置后的结果

  3. 查看字符编码
    命令:show variables like ‘%character%’;

  4. 添加远程账户
    命令:GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘12345678’ WITH GRANT OPTION;
    命令:FLUSH PRIVILEGES; 使设置生效
    如果你想允许用户myuser从ip为192.168.0.107的主机连接到mysql服务器,并使用mypassword作为密码
    GRANT ALL PRIVILEGES ON . TO ‘root’@’192.168.59.129’ IDENTIFIED BY ‘12345678’ WITH GRANT OPTION;
    FLUSH PRIVILEGES;

  5. 至此,可以远程连接并操作数据库啦!

7.退出Mysql命令
quit或者exit退出mysql

8.service iptables status可以查看到iptables服务的当前状态。
但是即使服务运行了,防火墙也不一定起作用,你还得看防火墙规则的设置 iptables -L
在此说一下关于启动和关闭防火墙的命令:
1) 重启后生效
开启: chkconfig iptables on
关闭: chkconfig iptables off
2) 即时生效,重启后失效
开启: service iptables start
关闭: service iptables stop

连接测试提示:2003 can’t connect to mysql server on ‘xxx.xxx.xxx.xxx’(10038)
解决办法:

centos查询端口是不是开放的

firewall-cmd –permanent –query-port=3306/tcp

添加对外开放端口

firewall-cmd –permanent –add-port=3306/tcp

重启防火墙

firewall-cmd –reload

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值