前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS7下MySQL5.7安装与配置(YUM)

CentOS7下MySQL5.7安装与配置(YUM)

作者头像
lyb-geek
发布2022-03-10 13:40:05
1.8K0
发布2022-03-10 13:40:05
举报
文章被收录于专栏:Linyb极客之路Linyb极客之路

安装环境:CentOS7 64位,MySQL5.7

1、配置YUM源

在MySQL官网中下载YUM源rpm安装包:

http://dev.mysql.com/downloads/repo/yum/

下载mysql源安装包

代码语言:javascript
复制
shell> wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

安装mysql源

代码语言:javascript
复制
shell> yum localinstall mysql57-community-release-el7-8.noarch.rpm

检查mysql源是否安装成功

代码语言:javascript
复制
shell> yum repolist enabled | grep "mysql.*-community.*"

看到上图所示表示安装成功。

可以修改

代码语言:javascript
复制
vim /etc/yum.repos.d/mysql-community.repo

改变默认安装的mysql版本。比如要安装5.6版本,将5.7源的enabled=1改成enabled=0。然后再将5.6源的enabled=0改成enabled=1即可。改完之后的效果如下所示:

2、安装MySQL

代码语言:javascript
复制
shell> yum install mysql-community-server

3、启动MySQL服务

代码语言:javascript
复制
shell> systemctl start mysqld

查看MySQL的启动状态

代码语言:javascript
复制
shell> systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled; vendor preset: disabled)
   Active: active (running) since 五 2016-06-24 04:37:37 CST; 35min ago
 Main PID: 2888 (mysqld)
   CGroup: /system.slice/mysqld.service
           └─2888 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

6月 24 04:37:36 localhost.localdomain systemd[1]: Starting MySQL Server...
6月 24 04:37:37 localhost.localdomain systemd[1]: Started MySQL Server.

4、开机启动

代码语言:javascript
复制
shell> systemctl enable mysqld
shell> systemctl daemon-reload

5、修改root本地登录密码

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

代码语言:javascript
复制
shell> grep 'temporary password' /var/log/mysqld.log
代码语言:javascript
复制
shell> mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

或者

代码语言:javascript
复制
mysql> set password for 'root'@'localhost'=password('MyNewPass4!');

注意:mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示

代码语言:javascript
复制
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

错误,如下图所示:

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

代码语言:javascript
复制
mysql> show variables like '%password%';

validatepasswordpolicy:密码策略,默认为MEDIUM策略 validatepassworddictionaryfile:密码策略文件,策略为STRONG才需要 validatepasswordlength:密码最少长度 validatepasswordmixedcasecount:大小写字符长度,至少1个 validatepasswordnumbercount :数字至少1个 validatepasswordspecialcharcount:特殊字符至少1个 上述参数是默认策略MEDIUM的密码检查规则。

共有以下几种密码策略:

代码语言:javascript
复制
策略    检查规则
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#sysvarvalidatepassword_policy

修改密码策略

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

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

代码语言:javascript
复制
validate_password_policy=0

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

代码语言:javascript
复制
validate_password = off

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

代码语言:javascript
复制
systemctl restart mysqld

6、添加远程登录用户

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

代码语言:javascript
复制
mysql> GRANT ALL PRIVILEGES ON *.* TO 'yangxin'@'%' IDENTIFIED BY 'Yangxin0917!' WITH GRANT OPTION;

7、配置默认编码为utf8

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

代码语言:javascript
复制
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'

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

8、默认配置文件路径

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

9、附录my.cnf参考配置

代码语言:javascript
复制
# 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
port=3306
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
table_open_cache=1024
slow_launch_time=5
slow_query_log=1
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
character_set_server=utf8
max_connections=1024
max_allowed_packet=10240000
read_buffer_size=2097152
read_rnd_buffer_size=8388608
sort_buffer_size=2097152
query_cache_limit=2097152
query_cache_type=ON
query_cache_size=33554432
lower_case_table_names=1


[mysqld_safe]
default-character-set=utf8

[mysql]
default-character-set=utf8

[client]
default-character-set=utf8
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-01-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Linyb极客之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、配置YUM源
  • 2、安装MySQL
  • 3、启动MySQL服务
  • 4、开机启动
  • 5、修改root本地登录密码
  • 6、添加远程登录用户
  • 7、配置默认编码为utf8
  • 8、默认配置文件路径
  • 9、附录my.cnf参考配置
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档