CentOS7 下使用YUM安装 MySQL5.7
发布日期:2021-11-15 02:11:49 浏览次数:3 分类:技术文章

本文共 3886 字,大约阅读时间需要 12 分钟。

于2015年10月19日(美国时间),Oracle公司发布了开源数据库MySQL的最新版本5.7。到现在已有将近3年之久,经过这几年的改进,MySQL5.7性能最高可达前一个版本的3倍,现在官网的最新版本是5.7.18.在这里,我将介绍yum的安装MySQL5.7的方法。

1:添加MySQL5.7的YUM源,建议安装epel源

yum install epel-release

根据CentOS版本的不同,添加rpm的地址也有所不同                 Centos6.5    

yum install http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

CentOS7

yum install https://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

2:激活MySQL5.7源

yum-config-manager --disable mysql56-community

yum-config-manager --enable mysql57-community-dmr

3:如果系统里面没有yum-config-manage命令,执行如下命令进行安装。

yum install yum-utils

4:执行安装MySQL5.7

yum install mysql mysql-devel mysql-server mysql-utilities

5:初始化密码,由于我没有在/root目录下找到第一次启动的随机密码,我就使用了如下操作

复制代码

vim /etc/my.cnf

在mysqld字段中添加

[mysqld]

skip-grant-tables
#然后执行
systemctl restart mysqld
#此时直接敲mysql进入mysql的终端执行如下命令
update mysql.user set authentication_string=password(123456) where user=‘root’ and Host = ‘localhost’;
#此时重启mysql后,注释掉刚刚添加的那个字段,systemctl restart mysqld 会告诉你的密码不符合复杂程度要求,需要再次更改;
#然后用123456这个密码进入mysql终端,在此执行如下命令
SET PASSWORD FOR ‘root’@‘localhost’ = PASSWORD(‘1234@Mfg’);
FLUSH PRIVILEGES;
#之后用新的密码登录即可~~~
复制代码
6:修改默认字符集为UTF-8

#由于现在大家都使用UTF-8作为默认字符集,因此需要在mysqld中添加如下字段

[mysqld]
character-set-server=utf8
7:由于默认的密码策略要求必须符合复杂程度,这是因为MySQL5.7以后引入了密码策略插件

复制代码

mysql> SHOW VARIABLES LIKE ‘validate_password%’;
±-------------------------------------±-------+
| Variable_name | Value |
±-------------------------------------±-------+
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | 8 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | MEDIUM |
| validate_password_special_char_count | 1 |
±-------------------------------------±-------+

  1. 开启远程连接该数据库
  2. 实现远程连接(改表法)

use mysql;

update user set host = ‘%’ where user = ‘root’;
这样在远端就可以通过root用户访问Mysql.或者是授权法如下
mysql> use mysql;
Database changed
mysql>grant all privileges on . to root@’%’ identified by ‘root123ABC!@#’;
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)
mysql> select host,user,password from user;
mysql> show plugins;
| ngram | ACTIVE | FTPARSER | NULL | GPL |
| validate_password | ACTIVE | VALIDATE PASSWORD | validate_password.so | GPL |
由于本人使用觉得很不方便,可以在配置文件中添加如下字段将其关闭!当然这也做是很不理智的,毕竟安全大于一切!
#关闭密码复杂策略
validate_password=off

复制代码

8:完整的MySQL配置优化后的配置文件如下(本人参照网上的示例之后自己整理的):

复制代码

[mysqld]
#修改最大连接数
max_connections = 500
#设置默认字符集为utf8
character-set-server=utf8
#查询排序时缓冲区大小,只对order by和group by起作用,可增大此值为16M
sort_buffer_size = 16M
#查询缓存限制,只有1M以下查询结果才会被缓存,以免结果数据较大把缓存池覆盖
query_cache_limit = 1M
#查看缓冲区大小,用于缓存SELECT查询结果,下一次有同样SELECT查询将直接从缓存池返回结果,可适当成倍增加此值
query_cache_size = 16M
#给所有的查询做cache,代表使用缓冲
query_cache_type = 1
#设置以顺序扫描的方式扫描表数据的时候使用缓冲区的大小
read_buffer_size = 8M
#打开文件数限制
open_files_limit = 10240
#修改InnoDB为独立表空间模式,每个数据库的每个表都会生成一个数据空间
innodb_file_per_table = 1
#索引和数据缓冲区大小,一般设置物理内存的60%-70%
innodb_buffer_pool_size = 1G
#缓冲池实例个数,推荐设置4个或8个
innodb_buffer_pool_instances = 8
#2代表只把日志写入到系统缓存区,再每秒同步到磁盘,效率很高
innodb_flush_log_at_trx_commit = 2
#日志缓冲区大小,由于日志最长每秒钟刷新一次,所以一般不用超过16M
innodb_log_buffer_size = 8M
#back_log参数的值指出在MySQL暂时停止响应新请求之前的短时间内多少个请求可以被存在堆栈中
back_log = 1024
#thread cache 池中存放的最大连接数
thread_cache_size = 64
#开启慢查询日志
slow_query_log = ON
#关闭密码复杂策略
validate_password=off
复制代码
9:发现一部分人使用yum安装后,再使用配置文件中指定datadir 和 basedir,导致启动失败,这里制定后还需要修改启动文件,还需要给制定的目录赋予mysql账号的权限;这里yum安装后datadir 和basedir的位置如下代码所示:

按 Ctrl+C 复制代码

mysql> show variables like ‘%datadir%’;
±--------------±----------------+
| Variable_name | Value |
±--------------±----------------+
| datadir | /var/lib/mysql/ |
±--------------±----------------+
row in set (0.00 sec)

mysql> show variables like ‘%basedir%’;

±--------------±------+
| Variable_name | Value |
±--------------±------+
| basedir | /usr/ |
±--------------±------+
row in set (0.00 sec)
按 Ctrl+C 复制代码

转载地址:https://blog.csdn.net/qq_28358461/article/details/92415768 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:从Git上下载项目
下一篇:在docker中启动三个hadoop的伪集群

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年03月17日 02时53分23秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

PHP能不能下载报表,PHP生成Excel报表的方法 2019-04-21
php mht2html,PHP 处理 mht 文件 2019-04-21
rt2tr matlab,MATLAB机器人工具箱参考 2019-04-21
MATLAB中GUI界面弹出菜单的使用,Matlab GUIDE使用说明(Matlab GUI界面) 2019-04-21
win iis对比apache php,服务器Apache与IIS的区别 2019-04-21
怎样用xampp测试php环境变量,使用xampp配置php运行环境的方法 2019-04-21
qq互联php教程,thinkphp5怎么整合qq互联登录教程 2019-04-21
python mod,mod_python的安装 2019-04-21
python分析彩票数据,这波太炸了!Python脚本可视化居然可以这么玩 2019-04-21
简单的mysql重置root密码,重置mysql的root密码最简单的方法 2019-04-21
用matlab仿真mmc环流抑制器,一种基于准PR控制原理的MMC阀组环流抑制方法 2019-04-21
oracle 排序的分析函数,Oracle SQL:使用分析排序函数 2019-04-21
oracle direct for hdfs xi下载,ORACLE连接HDFS有个专项的解决方案 2019-04-21
java 403怎么抛出_java – 如何在Spring MVC中返回403禁止? 2019-04-21
java jsch工具类_Java工具集-JSch连接远程服务器工具类 2019-04-21
cmd背景变红1003无标题_怎样修改cmd中文字的大小、颜色和背景颜色呢 原来是这样的... 2019-04-21
php rand() 重复,php – mt_rand()给我总是相同的数字 2019-04-21
php taglib.php,thinkphp5 taglib自定义标签教程 2019-04-21
java常用包类 array,Java中的StringBuffer和数组Arrays以及常用类型的包装类 2019-04-21
ctf常见php,CTF中常见的PHP伪协议 2019-04-21