Centos7 安装 MySQL5.7

一、环境介绍

1.安装包版本介绍

MySQL 有三种安装方式:RPM安装、二进制包安装、源码包安装。我们这篇文章以二进制方式安装MySQL

软件名称 版本
系统版本 CentOS Linux release 7.2.1511 (Core)
MySQL mysql-5.7.18-linux-glibc2.5-x86_64

2.二进制包相关目录介绍

MySQL Installation Layout for Generic Unix/Linux Binary Package

Directory Contents of Directory
bin mysqld server, client and utility programs
docs MySQL manual in Info format
man Unix manual pages
include Include (header) files
lib Libraries
share Error messages, dictionary, and SQL for database installation
support-files Miscellaneous support files

3.安装目录规划

配置项 说明
config /etc/my.cnf
datadir /data/mysql/mysql3306/data
binlogdir /data/mysql/mysql3306/logs
tmpdir /data/mysql/mysql3306/tmp

/data 在生产环境中这个目录最好是一个单独挂载的一个分区

server-id 为了防止server-id冲突,我们规定是主机IP地址的最后一位+MySQL监听的端口号。例如我的IP是192.168.1.100 MySQL监听的端口为3306 ,所以我的server-id = 1003306

二、安装MySQL

1.安装相关依赖

# yum install libaio -y

2.下载MySQL二进制安装包

国内源:

# wget -P /opt/  http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz

国外源:

# wget -P /opt/  https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz

3.创建用户

# useradd  -s /sbin/nologin  -M mysql

4.解压软连接MySQL二进制包

# mkdir /opt/mysql/
# tar zxf /opt/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz -C /opt/mysql/
# cd /usr/local/
# ln -s /opt/mysql/mysql-5.7.18-linux-glibc2.5-x86_64 mysql

5.创建数据库相关目录

# mkdir -pv /data/mysql/mysql3306/{data,logs,tmp}

6.修改相关目录权限

# chown -R mysql.mysql /usr/local/mysql
# chown -R mysql.mysql /data

7.创建配置文件

我们使用的配置文件为:/etc/my.cnf

# cat > /etc/my.cnf << EOF
###### base ######
#my.cnf
[client]
port = 3306
socket = /tmp/mysql3306.sock [mysql]
prompt="\u@\h [\d]>"
no-auto-rehash [mysqld]
#misc
user = mysql
basedir = /usr/local/mysql
datadir = /data/mysql/mysql3306/data
tmpdir = /data/mysql/mysql3306/tmp
port = 3306
socket = /tmp/mysql3306.sock
event_scheduler = 0 #timeout
interactive_timeout = 300
wait_timeout = 300 #character set
character-set-server = utf8 open_files_limit = 65535
max_connections = 100
max_connect_errors = 100000
lower_case_table_names =1 ###### GTID ######
gtid-mode = on
enforce-gtid-consistency=1 ###### symi replication ######
#rpl_semi_sync_master_enabled=1
#rpl_semi_sync_master_timeout=1000 # 1 second
#rpl_semi_sync_slave_enabled=1 ####### slow log ######
log-output=file
slow_query_log = 1
slow_query_log_file = slow.log
log-error = error.log
log_warnings = 2
pid-file = mysql.pid
long_query_time = 1
#log-slow-admin-statements = 1
#log-queries-not-using-indexes = 1
log-slow-slave-statements = 1 ####### binlog ######
binlog_format = row
server-id = 1003306
log-bin = /data/mysql/mysql3306/logs/mysql-bin
max_binlog_size = 256M
sync_binlog = 0
expire_logs_days = 10
#procedure
log_bin_trust_function_creators=1 ####### relay log ######
skip_slave_start = 1
max_relay_log_size = 128M
relay_log_purge = 1
relay_log_recovery = 1
relay-log=relay-bin
relay-log-index = relay-bin.index
log_slave_updates = ON
#slave-skip-errors=1032,1053,1062
#skip-grant-tables ####### buffers & cache ######
table_open_cache = 2048
table_definition_cache = 2048
table_open_cache = 2048
max_heap_table_size = 96M
sort_buffer_size = 128K
join_buffer_size = 128K
thread_cache_size = 200
query_cache_size = 0
query_cache_type = 0
query_cache_limit = 256K
query_cache_min_res_unit = 512
thread_stack = 192K
tmp_table_size = 96M
key_buffer_size = 8M
read_buffer_size = 2M
read_rnd_buffer_size = 16M
bulk_insert_buffer_size = 32M #myisam
myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1 #innodb
innodb_buffer_pool_size = 100M
innodb_buffer_pool_instances = 1
innodb_data_file_path = ibdata1:100M:autoextend
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 8M
innodb_log_file_size = 100M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 50
innodb_file_per_table = 1
innodb_rollback_on_timeout
innodb_io_capacity = 2000
transaction_isolation = READ-COMMITTED
innodb_flush_method = O_DIRECT
EOF

8.初始化数据库

# cd /usr/local/mysql
# ./bin/mysqld --defaults-file=/etc/my.cnf --initialize

9.创建MySQL启动脚本

# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
# /etc/init.d/mysqld start

10.创建环境变量

# echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
# source /etc/profile

11.修改初始密码

查看初始密码:

# grep "password" /data/mysql/mysql3306/data/error.log
2017-05-08T07:49:40.620503Z 1 [Note] A temporary password is generated for root@localhost: q=8jh*JpNar)

初始密码为: q=8jh*JpNar) 每次初始化密码都不会相同;

登录数据库修改密码为:unixfbi.com

# mysql -uroot -p初始密码
mysql> alter user user() identified by 'unixfbi.com';
或者:
mysql> SET PASSWORD=PASSWORD('unixfbi.com');
mysql> flush privileges;

或者:

# PASSWD=$(grep 'password is' /data/mysql/mysql3306/data/error.log  | awk '{print $NF}')

# mysql -uroot -p"$PASSWD" --connect-expired-password -e "alter user user() identified by 'unixfbi.com';"

参考文档

https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html

http://database.51cto.com/art/201108/285365.htm

本文出自 “运维特工” 博客,转载请务必保留原文链接 和 http://www.unixfbi.com

Centos7 安装 MySQL5.7的更多相关文章

  1. centos7安装mysql5.7.19及配置远程连接

    centos7安装mysql5.7.19及配置远程连接------https://blog.csdn.net/Lh19931122/article/details/77996213

  2. Linux学习第三步(Centos7安装mysql5.7数据库)

    版本:mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar 前言:在linux下安装mysql不如windows下面那么简单,但是也不是很难.本文向大家讲解了如何在Cent ...

  3. Centos7安装mysql-5.7.19

    Centos7安装Mysql 一 mysql下载 地址: https://dev.mysql.com/downloads/mysql/#downloads 二 在centos7上创建安装文件存放.解压 ...

  4. Centos7安装Mysql5.7方法总结 - 实操手册

    Centos7.x版本下针对Mysql的安装和使用多少跟之前的Centos6之前版本有所不同的,废话就不多赘述了,下面介绍下在centos7.x环境里安装mysql5.7的几种方法:一.yum方式安装 ...

  5. centos7安装mysql5.7修改设置密码策略

    centos7操作系统在安装mysql5.7社区版之后会有默认密码,通过grep命令在mysqld.log文件中即可找到,如下所示: 标识位置即在初始化安装时mysql的默认密码,然后通过mysql ...

  6. centos7安装MySQL5.7无法设置密码问题

    前言 在使用centos7系统yum方式安装MySQL5.7后 不知道默认密码是多少  知道后没办法修改? 一.找到MySQL密码 service mysqld start vim /var/log/ ...

  7. centos7 安装 mysql5.7 版本(全)

    centos 安装 版本说明 :centos7,mysql5.7 ,不是 centos7 可能有些命令不兼容 安装 mysql-server # 下载并安装 mysql yum wget -i -c ...

  8. centos7安装mysql5.7(rpm安装版)

    1.下载mysql5.7的rpm安装包 rpm的mysql包,安装起来简单,解压版的mysql还需要做许多配置,稍有不慎就会出错!!! 下载地址:https://dev.mysql.com/downl ...

  9. CentOS7安装MySQL5.7及Tomcat8.5

    在CentOS7服务器上部署FR项目应用 一.安装CentOS-7_x86_64 1.CentOS7:带GUI的服务器(FTP服务器.JAVA平台.兼容性程序库.开发工具.安全性工具.系统管理工具): ...

随机推荐

  1. #网页中动态嵌入PDF文件/在线预览PDF内容#

    摘要:在web开发时我们有时会需要在线预览PDF内容,在线嵌入pdf文件: 问题1:如何网页中嵌入PDF: 在网页中: 常用的几种PDF预览代码片段如下: 代码片段1: 1 <object ty ...

  2. Mysql tinyint长度为1时在java中被转化成boolean型

    MySql 中的tinyint(1)的使用 在MySql中如何定义像Java中类型的Boolean类型数据..其实,mysql中 是没有直接定义成Boolean这种数据类型. 它只能定义成 tinyi ...

  3. 很火的Java题——判断一个整数是否是奇数

    完成以下代码,判断一个整数是否是奇数: public boolean isOdd(int i) 看过<编程珠玑>的人都知道这道题的答案和其中极为简单的道理. 最普遍的风格,如下: 这个函数 ...

  4. js如何创建JSON对象

    js如何创建JSON对象 一.总结 一句话总结:直接创建js数组和js对象即可,然后JSON.stringify就可以获取json字符串,js中的一切都是对象,而且js中的对象都是json对象 js ...

  5. Yii中的CComponent应用实例

    首先我们先了解一下如何创建一个CComponent,手册讲述如下: CComponent 是所有组件类的基类. CComponent 实现了定义.使用属性和事件的协议. 属性是通过getter方法或/ ...

  6. 20170727xlVBA根据总名单和模板生成多页名单

    Sub CountingDown() Dim Dic As Object '用于分类统计 Dim i As Long Dim CountDown As Long '每页最多几条信息 Dim x As ...

  7. Confluence 6 使用 LDAP 授权连接一个内部目录 - 高级设置

    ted Groups 为嵌套组启用或禁用支持. 一些目录服务器能够允许你在一个组中定义另外一个组.在这种结构下的用户组称为用户组嵌套.嵌套组的配置能够让子用户组继承上级用户组的权限,是系统的权限配置变 ...

  8. mysql5.7执行sql语句出现only_full_group_by错误

    在/etc/my.cnf的[mysqld]组中添加 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISI ...

  9. CentOS查看分区的方式

    看ls /dev然后挂载 df -T  只可以查看已经挂载的分区和文件系统类型 fdisk -l 可以显示出所有挂载和未挂载的分区,但不显示文件系统类型 parted -l 可以查看未挂载的文件系统类 ...

  10. 『PyTorch』第七弹_nn.Module扩展层

    有下面代码可以看出torch层函数(nn.Module)用法,使用超参数实例化层函数类(常位于网络class的__init__中),而网络class实际上就是一个高级的递归的nn.Module的cla ...