mysql5.7 对比之mysql下载以前的版本本做了哪些改进,目前适合用于生产环境吗

主题信息(必填)
主题描述(最多限制在50个字符)
申请人信息(必填)
申请信息已提交审核,请注意查收邮件,我们会尽快给您反馈。
如有疑问,请联系
CSDN &《程序员》编辑/记者,投稿&纠错等事宜请致邮
你只管努力,剩下的交给时光!
如今的编程是一场程序员和上帝的竞赛,程序员要开发出更大更好、傻瓜都会用到软件。而上帝在努力创造出更大更傻的傻瓜。目前为止,上帝是赢的。个人网站:。个人QQ群:、
个人大数据技术博客:
Inside君整理了一份最新基于MySQL 5.6和5.7的配置文件模板,基本上可以说覆盖90%的调优选项,用户只需根据自己的服务器配置稍作修改即可,如InnoDB缓冲池的大小、IO能力(innodb_buffer_pool_size,innodb_io_capacity)。特别注意,这份配置文件不用修改,可以直接运行在MySQL 5.6和5.7的版本下,这里使用了小小的技巧,具体可看配置文件。如果配置参数存在问题,也可以及时反馈Inside君,我们一起成长。触发Inside君做这件事情的原因是大部分网络上的MySQL配置文件都非常非常古老,大多都是基于MySQL 5.1的版本,这导致了绝大部分MySQL并没有运行在最优的环境,从而导致一些错误的使用,亦或是灾难性事故的发生,比如数据丢失,主从数据不一致等。而这些问题早在5.6版本及以后的版本中得到了解决。最后,抛弃你那所谓的、陈旧的、错误的MySQL配置文件,面向一个崭新的高性能、高可靠、高可扩展MySQL时代,你要做的就是下载这份配置文件并用于你的生产环境[client]
user=david
server-id = 11
port = 3306
user = mysql
bind_address = 10.166.224.32
autocommit = 0
character_set_server=utf8mb4
skip_name_resolve = 1
max_connections = 800
max_connect_errors = 1000
datadir = /data/mysql_data
transaction_isolation = READ-COMMITTED
explicit_defaults_for_timestamp = 1
join_buffer_size =
tmp_table_size =
tmpdir = /tmp
max_allowed_packet =
sql_mode = "STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER"
interactive_timeout = 1800
wait_timeout = 1800
read_buffer_size =
read_rnd_buffer_size =
sort_buffer_size =
log_error = error.log
slow_query_log = 1
slow_query_log_file = slow.log
log_queries_not_using_indexes = 1
log_slow_admin_statements = 1
log_slow_slave_statements = 1
log_throttle_queries_not_using_indexes = 10
expire_logs_days = 90
long_query_time = 2
min_examined_row_limit = 100
master_info_repository = TABLE
relay_log_info_repository = TABLE
log_bin = bin.log
sync_binlog = 1
gtid_mode = on
enforce_gtid_consistency = 1
log_slave_updates
binlog_format = row
relay_log = relay.log
relay_log_recovery = 1
binlog_gtid_simple_recovery = 1
slave_skip_errors = ddl_exist_errors
innodb_page_size = 8192
innodb_buffer_pool_size = 6G
innodb_buffer_pool_instances = 8
innodb_buffer_pool_load_at_startup = 1
innodb_buffer_pool_dump_at_shutdown = 1
innodb_lru_scan_depth = 2000
innodb_lock_wait_timeout = 5
innodb_io_capacity = 4000
innodb_io_capacity_max = 8000
innodb_flush_method = O_DIRECT
innodb_file_format = Barracuda
innodb_file_format_max = Barracuda
innodb_log_group_home_dir = /redolog/
innodb_undo_directory = /undolog/
innodb_undo_logs = 128
innodb_undo_tablespaces = 3
innodb_flush_neighbors = 1
innodb_log_file_size = 4G
innodb_log_buffer_size =
innodb_purge_threads = 4
innodb_large_prefix = 1
innodb_thread_concurrency = 64
innodb_print_all_deadlocks = 1
innodb_strict_mode = 1
innodb_sort_buffer_size =
plugin_dir=/usr/local/mysql/lib/plugin
plugin_load = "rpl_semi_sync_master=semisync_master.rpl_semi_sync_slave=semisync_slave.so"
loose_rpl_semi_sync_master_enabled = 1
loose_rpl_semi_sync_slave_enabled = 1
loose_rpl_semi_sync_master_timeout = 5000
[mysqld-5.7]
innodb_buffer_pool_dump_pct = 40
innodb_page_cleaners = 4
innodb_undo_log_truncate = 1
innodb_max_undo_log_size = 2G
innodb_purge_rseg_truncate_frequency = 128
binlog_gtid_simple_recovery=1
log_timestamps=system
transaction_write_set_extraction=MURMUR32
show_compatibility_56=on腾讯云CDB重要新特性发布,支持MySQL 5.7
腾讯云CDB重要新特性发布,支持MySQL 5.7
科技微观察
腾讯云云数据库(腾讯云CDB)是腾讯云提供的关系型数据库云服务,腾讯云CDB相对于传统数据库更容易部署、管理和扩展。近日,腾讯云发布云数据库MySQL 5.7版本,进一步提高了数据库MySQL 版本的丰富度。相对于腾讯云CDB for MySQL 5.6版本,本次升级提供了大量MySQL新特性:更高的读写性能 、并行复制、内置原生 JSON 支持,结合原有监控、高可用、只读实例、自动备份、无损恢复等特性,可以为用户提供更好更可靠的关系型数据库服务。全面内核优化,高达3倍的性能提升腾讯云CDB for MySQL 5.7版本,在内核方面做了全面的优化,性能提升非常明显。腾讯云CDB for MySQL 5.7版本与社区版MySQL 5.6相比,在Sysbench标准数据库只读测试中性能提升高达3倍。腾讯云CDB forMySQL 5.7版本主要在以下这几个方面进行了提升:一、改进基于代价的优化器模型和索引检索的算法:提升了在数据库中寻找某一特定文件、网站、记录或一系列记录的Query性能。二、改进InnoDB的可扩展性和临时表的性能:腾讯云CDB for MySQL 5.7版本通过在InnoDB的可扩展性和临时表性能上进行改进,从而实现更快的网络吞吐和大数据加载等操作。三、在多项复制方面:新版本腾讯云CDB for MySQL 5.7也进行了优化,并且还支持并行复制、多源复制、增强dump线程、优化原生半同步复制。并行复制使得 Slave 节点的数据延迟进一步降低,运行更高效更合理。开发更便捷,多项易用性优化此外,腾讯云CDB for MySQL 5.7在易用性上也做出了相应的调整,提升了开发者使用的便捷性。一、在JSON方面支持了原生。JSON是一种轻量级的数据交换格式,简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。腾讯云CDB for MySQL 5.7版本支持原生JSON,不仅能体验到NoSQL的灵活性与关系型数据库的强大功能,同时也更易于机器解析和生成,并有效地提升网络传输效率。二、在新版本MySQL中,优化了GIS特性,包括InnoDB空间索引,Boost.Geometry。相对于之前版本MySQL中InnoDB将几何数据存储为BLOB(二进制大对象)数据,在空间数据上只能创建前缀索引的特征,云数据库MySQL 5.7版本搜索时效率有明显提升。三、腾讯云CDB for MySQL 5.7版本还拥有更加丰富的hints以及Query rewrite插件,极大地扩展SQL开发能力插件。除了更便捷的开发环境,腾讯云CDB for MySQL 5.7版本在多项易用性上也有明显的优化。腾讯云CDB for MySQL 5.7版本支持InnoDB BufferPool预加载,通过 InnoDB reload BufferPool 对缓存预热,优化实例重启后性能下降的问题。支持SYS Schema,提供人性化的DBA性能视,使用新的SYS模式可显著提高易用性,是更便捷的数据库性能查看方式。除此之外,新版本腾讯云CDB,还将支持密码过期、账号锁定等,提升数据库安全。降低运维成本,保证业务系统正常运行腾讯云CDB for MySQL 5.7版本,还将支持在线动态管理BufferPool、Undo日志和表空间,进一步降低了运维成本;此外在线alter table,性能更高且 Online 执行的 DDL 操作将更低的影响业务系统的运行。全面升级,腾讯云CDB还有4大核心亮点首先,使用基于PCI-e SSD硬盘的机皇配置,结合腾讯自研TxSQL数据库内核分支对MySQL 5.7的,进一步刷新性能上限。其次,内存硬盘按需搭配,可选择488GB内存支撑高并发业务,以及6T的存储空间支撑海量数据存储。支持灾备实例,可跨地域容灾,轻松构建容灾中心和高可用的IT架构。腾讯云CDB for MySQL 5.7版本还支持只读实例,可轻松实现读写分离架构,支持海量并发访问。因此,MySQL 5.7 版本的腾讯云CDB一经发布就迎来了互联网、金融等行业的多个重量级用户,目前已有数百家企业将现网业务运行在腾讯云CDB for MySQL 5.7版本之上。此外,MySQL 5.7 版本的腾讯云CDB更新,腾讯云也完善了自己的数据库产品矩阵,基本涵盖了业界主流的关系型和非关系型产品。
本文仅代表作者观点,不代表百度立场。系作者授权百家号发表,未经许可不得转载。
科技微观察
百家号 最近更新:
简介: 科技前沿资讯观察与分析
作者最新文章2017年1月 其他数据库开发大版内专家分月排行榜第二2014年8月 其他数据库开发大版内专家分月排行榜第二2014年2月 其他数据库开发大版内专家分月排行榜第二2014年1月 其他数据库开发大版内专家分月排行榜第二2013年12月 其他数据库开发大版内专家分月排行榜第二2013年10月 其他数据库开发大版内专家分月排行榜第二2013年8月 其他数据库开发大版内专家分月排行榜第二2013年5月 其他数据库开发大版内专家分月排行榜第二2013年1月 其他数据库开发大版内专家分月排行榜第二2012年8月 其他数据库开发大版内专家分月排行榜第二2012年5月 其他数据库开发大版内专家分月排行榜第二2012年4月 其他数据库开发大版内专家分月排行榜第二2012年1月 其他数据库开发大版内专家分月排行榜第二
2017年9月 其他数据库开发大版内专家分月排行榜第三2017年7月 其他数据库开发大版内专家分月排行榜第三2017年5月 其他数据库开发大版内专家分月排行榜第三2017年3月 其他数据库开发大版内专家分月排行榜第三2016年12月 其他数据库开发大版内专家分月排行榜第三2014年11月 其他数据库开发大版内专家分月排行榜第三2014年7月 其他数据库开发大版内专家分月排行榜第三2014年6月 其他数据库开发大版内专家分月排行榜第三2014年5月 其他数据库开发大版内专家分月排行榜第三2013年7月 其他数据库开发大版内专家分月排行榜第三2013年3月 其他数据库开发大版内专家分月排行榜第三2012年7月 其他数据库开发大版内专家分月排行榜第三2012年6月 其他数据库开发大版内专家分月排行榜第三2011年12月 其他数据库开发大版内专家分月排行榜第三
2014年1月 总版技术专家分月排行榜第二2013年12月 总版技术专家分月排行榜第二
2016年10月优秀小版主
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。Linux系统技术交流QQ群(1663106)验证问题答案:刘遄
MySQL 5.7 版本的发布,也就是说从现在开始5.7已经可以在生产环境中使用,有任何问题官方都将立刻修复。
MySQL 5.7主要特性:
原生支持Systemd
更好的性能:对于多核CPU、固态硬盘、锁有着更好的优化
更好的InnoDB存储引擎
更为健壮的复制功能:复制带来了数据完全不丢失的方案,传统金融客户也可以选择使用MySQL数据库。此外,GTID在线平滑升级也变得可能
更好的优化器:优化器代码重构的意义将在这个版本及以后的版本中带来巨大的改进,Oracle官方正在解决MySQL之前最大的难题
原生JSON类型的支持
更好的地理信息服务支持:InnoDB原生支持地理位置类型,支持GeoJSON,GeoHash特性
新增sys库:以后这会是DBA访问最频繁的库
MySQL 5.7已经作为数据库可选项添加到 OneinStack -- lnmp 安装工具中
安装依赖包
yum -y install make gcc-c++ cmake bison-devel ncurses-devel
下载mysql源码包
源码包有两种版本 :
mysql-5.7.11.tar.gz 不带 boost库 ,需要自行下载。
mysql-boost-5.7.11.tar.gz 自带 boost库,在解压后的根目录,推荐下载。
wget /Downloads/MySQL-5.7/mysql-boost-5.7.11.tar.gz
curl -O /Downloads/MySQL-5.7/mysql-boost-5.7.11.tar.gz
tar -zxf mysql-boost-5.7.11.tar.gz
cd mysql-5.7.11
生成makefile
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \ [字符集]
-DDEFAULT_COLLATION=utf8_general_ci \ [排序规则 必须有,不然初始化数据库困难]
-DDOWNLOAD_BOOST=1 \ [从MySQL 5.7.5开始Boost库是必需的]
-DWITH_BOOST=/root/mysql-5.7.11/boost \
-DWITH_SYSTEMD=1 [支持Systemd]
加上-DWITH_SYSTEMD=1可以使用systemd控制mysql服务,默认是不开启systemd的。
make -j 2 && make install
mysql将会安装到/usr/local/mysql路径
慢慢等……
添加mysql用户和组
groupadd mysql
useradd -g mysql -s /sbin/nologin mysql
修改/usr/local/mysql权限
chown -R mysql:mysql /usr/local/mysql
创建 mysql PID 默认目录
在 mysqld.service ,把默认的pid文件指定到了 /var/run/mysqld/ 目录,而并没有事先建立该目录,因此要手动建立该目录并把权限赋给 mysql 用户。
mkdir -p /var/run/mysqld
chown mysql:mysql /var/run/mysqld
mysql 三个运行文件默认位置
log : /var/log/mysqld.log
pid : /var/run/mysqld/mysqld.pid
sock : /tmp/mysql.sock
拷贝 my.cnf 和 mysqld.service
cp support-files/f /f
mysql 5.7 默认将 mysqld.service (/usr/local/mysql/)文件安装到了 mysql 安装目录下的 usr/lib/systemd/system/,将 mysqld.service 复制到/usr/lib/systemd/system/目录下
[root@localhost]/usr/local/mysql#cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system
添加环境变量
-- 编辑/etc/profile文件在最后添加如下两行 --
vim /etc/profile
PATH=/usr/local/mysql/bin:$PATH
export PATH
source /etc/profile
初始化 无密码 mysql 数据库
bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
bin/mysql_ssl_rsa_setup
出现下列内容,初始化成功
T03:56:27. [Warning] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
-–initialize 会生成一个随机密码(保存在~/.mysql_secret),而 -–initialize-insecure 不会生成密码,在MySQL安全配置向导mysql_secure_installation设置密码时,可自由选择 mysql 密码等级。
-–datadir目标目录下不能有数据文件。
之前版本初始化程序 mysql_install_db 是在 /usr/local/mysql/script 下,并会在将来被移除,转而使用mysqld替代 已被废弃 mysql5.7 放在了 /usr/local/mysql/bin 目录下。
启动 mysql
systemctl start mysqld.service
systemctl status mysqld.service
运行 MySQL安全配置向导mysql_secure_installation 设置密码,mysql 服务启动后才可执行
a)为root用户设置密码
b)删除匿名账号
c)取消root用户远程登录
d)删除test库和对test库的访问权限
e)刷新授权表使修改生效
[root@localhost mysql]# mysql_secure_installation
Securing the MySQL server deployment.
Connecting to MySQL using a blank password. [使用空密码连接到MySQL]
VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?[VALIDATE密码插件可以被用来测试密码
并提高安全性。你是否想设置VALIDATE密码插件?]
Press y|Y for Yes, any other key for No: y
There are three levels of password validation policy: [有三种级别的密码验证策略:]
LOW Length &= 8
MEDIUM Length &= 8, numeric, mixed case, and special characters
STRONG Length &= 8, numeric, mixed case, special characters and dictionary file
[最小长度& = 8
中等长度& = 8,数字,大小写混合和特殊字符
最长长度& = 8,数字,混合大小写,特殊字符和字典文件]
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 0 [请输入0 =低,1 =中2 =强:0]
Please set the password for root here. [请在这里设置root用户的密码。]
New password: [新密码:]
Re-enter new password: [重新输入新密码:]
Estimated strength of the password: 25 [密码的估计强度:25]
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y [您是否希望继续与提供的密码(按y | Y表示是,因为没有任何其他键):Y?]
... Failed! Error: Your password does not satisfy the current policy requirements [ ... 失败!错误:您的密码不符合当前的要求]
New password:
Re-enter new password:
Estimated strength of the password: 50 [密码的估计强度:50]
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment. [默认情况下,MySQL安装有一个匿名用户,
允许任何人登录到MySQL.]
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y [删除匿名用户?]
Success. [成功。]
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network. [通常情况下,Root 只允许其进行'localhost'(本地) 连接
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : n [禁止远程root登录?]
... skipping. [...跳过。]
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment. [默认情况下,MySQL带有一个名为“测试”数据库,任何人都可以访问。这也是仅用于测试,并且应该移动到生产之前被删除环境。]
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : n [删除测试数据库和访问权限?]
... skipping. [ ...跳过。]
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately. [刷新授权表以确保所有的变化取得将立即生效。]
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : [现在刷新授权表?]
... skipping.
All done! [全部完成!]
开放 Root 远程连接权限
mysql -u root -p
mysql& GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; [password 为远程连接密码]
mysql&FLUSH PRIVILEGES; [刷新权限]
原文来自:
本文地址:编辑:岳国帅,审核员:张宏宇
为您推荐一些与本文相关的文章:
进阶课程目录
第24章 使用Xen与Kvm部署虚拟化服务环境。(即将公布)
Linux技术交流QQ群
向每个正在奋斗的Linuxer致敬.
Linux技术交流群A:560843
Linux技术交流群B:340829
Linux技术交流群C:463590
Linux技术交流群D:915246
Linux技术交流群E:1663106
Linux技术交流群F:1653851
Linux技术交流群G:2632018
Linux技术交流群H:2636170
Linux技术交流群I:2650582
全国Linux技术交流群(总):
11月0 篇文章12月0 篇文章
1月0 篇文章12月0 篇文章

我要回帖

更多关于 查询当前mysql版本 的文章

 

随机推荐