前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL5.7安装步骤

MySQL5.7安装步骤

作者头像
July
修改2019-08-10 18:38:24
1K0
修改2019-08-10 18:38:24
举报
文章被收录于专栏:数据库干货铺

本次进行MySQL5.7版本的安装,关于MySQL版本选择、官网下载地址、相关系统配置等操作可以参照之前的博文,本文就不在赘述咯。可以参考历史文章处理,下面直奔主题,进行相关安装工作。

总体安装步骤概述如下:

  • 操作系统等相关配置设置
  • 安装依赖包
  • 创建用户
  • 修改配置文件、创建相关数据目录、日志目录等并授权
  • 运行安装命令,启动数据库
  • 配置环境变量、服务等

因为我之前已经安装了MySQL5.6,本次继续在同一台机器上安装一个MySQL5.7版本的实例,相关配置及依赖包等操作之前已处理完毕,

现在就接着后续操作进行了。如果首次安装,需先进行配置。详情见https://www.cnblogs.com/gjc592/p/9198323.html

一、准备工作

安装必要依赖包

yum install -y libaio

创建用户

groupadd mysql useradd -r -g mysql mysql

上传安装包至 /usr/local ,如上传至其他路径,以下操作过程中注意修改路径,或者在/usr/local目录创建软连接

解压

tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

创建软连接

ln -s mysql-5.7.22-linux-glibc2.12-x86_64 /usr/local/mysql5.7

修改目录权限

cd /usr/local chown -R mysql:root mysql5.7

二、创建相关数据目录、日志目录、配置文件等并授权

创建相关目录

mkdir -p /data/mysql/mysql3307/{data,logs,etc,tmp}

配置文件

vi /data/mysql/mysql3307/etc/my3307.cnf

可以参考如下配置文件,注意根据自己的环境修改相关配置

代码语言:javascript
复制
[mysqld]
########basic settings########
server-id = 463307port = 3307user = mysqlcharacter_set_server=utf8mb4skip_name_resolve = 1max_connections = 800max_connect_errors = 1000datadir = /data/mysql/mysql3307/data      #根据实际情况修改,建议和程序分离存放transaction_isolation = READ-COMMITTEDexplicit_defaults_for_timestamp = 1join_buffer_size = 512Mtmp_table_size = 512Mtmpdir = /data/mysql/mysql3307/tmppid-file = /data/mysql/mysql3307/tmp/mysqld3307.pidsocket = /data/mysql/mysql3307/tmp/mysql3307.sockmax_allowed_packet = 128Msql_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 = 1800wait_timeout = 1800read_buffer_size = 16Mread_rnd_buffer_size = 32Msort_buffer_size = 32Mlanguage = /usr/local/mysql5.7/share/english  ## 以后版本将取消该参数
########log settings########
log_error =/data/mysql/mysql3307/logs/mysqld3307.logslow_query_log = 1slow_query_log_file = /data/mysql/mysql3307/logs/slow.loglog_queries_not_using_indexes = 1log_slow_admin_statements = 1log_slow_slave_statements = 1log_throttle_queries_not_using_indexes = 10expire_logs_days = 3long_query_time = 2min_examined_row_limit = 100
########replication settings########
master_info_repository = TABLErelay_log_info_repository = TABLElog_bin = /data/mysql/mysql3307/logs/mysql_binlogsync_binlog = 1gtid_mode = onenforce_gtid_consistency = 1log_slave_updatesbinlog_format = rowrelay_log = /data/mysql/mysql3307/logs/relay.logrelay_log_recovery = 1binlog_gtid_simple_recovery = 1slave_skip_errors = ddl_exist_errors
########innodb settings########
innodb_page_size = 8192innodb_buffer_pool_size = 1G    #根据实际情况修改innodb_buffer_pool_instances = 8innodb_buffer_pool_load_at_startup = 1innodb_buffer_pool_dump_at_shutdown = 1innodb_lru_scan_depth = 2000innodb_lock_wait_timeout = 5innodb_io_capacity = 4000innodb_io_capacity_max = 8000innodb_flush_method = O_DIRECTinnodb_file_format = Barracudainnodb_file_format_max = Barracudainnodb_log_group_home_dir = /data/mysql/mysql3307/logs/  #根据实际情况修改innodb_undo_directory =  /data/mysql/mysql3307/logs/      #根据实际情况修改innodb_undo_logs = 128innodb_undo_tablespaces = 3innodb_flush_neighbors = 1innodb_log_file_size = 512M               #根据实际情况修改innodb_log_buffer_size = 16777216innodb_purge_threads = 4innodb_large_prefix = 1innodb_thread_concurrency = 64innodb_print_all_deadlocks = 1innodb_strict_mode = 1innodb_sort_buffer_size = 67108864
########semi sync replication settings########
plugin_dir=/usr/local/mysql5.7/lib/plugin      #根据实际情况修改plugin_load = "rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so"loose_rpl_semi_sync_master_enabled = 1loose_rpl_semi_sync_slave_enabled = 1loose_rpl_semi_sync_master_timeout = 5000
[mysqld-5.7]innodb_buffer_pool_dump_pct = 40innodb_page_cleaners = 4innodb_undo_log_truncate = 1innodb_max_undo_log_size = 1Ginnodb_purge_rseg_truncate_frequency = 128binlog_gtid_simple_recovery=1log_timestamps=systemtransaction_write_set_extraction=MURMUR32show_compatibility_56=on

授权

chown -R mysql:mysql /data/mysql/mysql3307

三、 安装及启动

1.指定本实例的配置文件进行安装

# 建议写全路径运行命令进行安装

/usr/local/mysql5.7/bin/mysqld --defaults-file=/data/mysql/mysql3307/etc/my3307.cnf --initialize --user=mysql

注意:mysql5.7安装后默认会产生一个临时密码,存放于错误日志里,可以查看错误日志进行查看

# 查看日志

vim /data/mysql/mysql3307/logs/mysqld3307.log

此时可以看到临时密码,并查看是否有错误产生

如果不想产生临时密码,可以运行如下命令进行操作,建议使用initialize产生随机密码(下面的语句只是科普使用,无需执行) /usr/local/mysql5.7/bin/mysqld --defaults-file=/data/mysql/mysql3307/etc/my3307.cnf --initialize-insecure --user=mysql 即:使用--initialize生成随机密码,使用--initialize-insecure生成空密码。

注意:如果安装过程中出现错误,需要将 datadir及 logs下对应的文件删除,并将错误原因查出解决后再运行安装命令,否则将无法再次安装。

2. 启动MySQL实例

#启动数据库,并在后台运行(执行下面命令时多次回车,专为小白而备注)

/usr/local/mysql5.7/bin/mysqld_safe --defaults-file=/data/mysql/mysql3307/etc/my3307.cnf &

# 查看进程

ps -ef|grep mysql

# 登录mysql:此时需要用到临时密码(存放于错误日志中)

/usr/local/mysql5.7/bin/mysql -uroot -p'c,/yqCh:&9pS' -P3307 --socket=/data/mysql/mysql3307/tmp/mysql3307.sock ## 标红的为临时密码

# 进入后需先修改密码才能进行其他操作,如下所示

3.停止数据库

shutdown

MySQL 5.7可以在sql里运行shutdown命令关闭数据库(mysql5.6需要用mysqladmin进行)

# mysqladmin 方式关闭 (mysql5.6采用此方法关闭)

/usr/local/mysql5.7/bin/mysqladmin -uroot -p123456 --port=3307 --socket=/data/mysql/mysql3307/tmp/mysql3307.sock shutdown

## 至此 mysql5.6 mysql5.7版本的安装及启动停止就已完成了, MySQL8.0的安装与MySQL5.7类似,但是新特性较多,后续也会进行找机会再举例说明。

以上步骤中如有疑问或错误 欢迎指正。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据库干货铺 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档