运行环境

系统版本:CentOS Linux release 7.3.1611 (Core)

软件版本:MYSQL-5.7

硬件要求:无

安装过程

1、基础配置

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# vim /etc/sysconfig/selinux
SELINUX=disabled

2、安装YUM-MYSQL存储库

YUM-MYSQL存储库由MYSQL官网提供。

[root@localhost ~]# rpm -i https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm

3、安装MYSQL

[root@localhost ~]# yum -y install mysql-community-server

4、创建一个数据库实例,创建相关目录并授权

[root@localhost ~]# mkdir -p /data/mysql/data
[root@localhost ~]# mkdir -p /data/mysql/binlog
[root@localhost ~]# mkdir -p /data/mysql/relaylog
[root@localhost ~]# mkdir -p /data/mysql/log
[root@localhost ~]# chown -R mysql.mysql /data/mysql

5、创建一个数据库实例,创建配置文件

下面是一份经过性能优化的配置文件。

不了解的情况下我们只需要关注几个简单的基础配置即可。

[root@localhost ~]# vim /data/mysql/my.cnf
[mysqld]
### basic ###
user = mysql
# 运行用户
server_id = 1
# 主机ID
bind-address = 0.0.0.0
# 监听地址
port = 43306
# 监听端口
pid-file = /data/mysql/mysqld.pid
# 进程文件存放路径
socket = /data/mysql/mysqld.sock
# 套接字文件存放路径
datadir = /data/mysql/data
# 数据存储目录路径
default_storage_engine = InnoDB
# 数据库使用的默认存储引擎
# explicit_defaults_for_timestamp = true
symbolic-links = 0 ### skip password ###
skip-grant-tables = false ### errorlog ###
log_error = /data/mysql/log/error.log
# 错误日志文件存储路径 ### binlog ###
log-bin = /data/mysql/binlog/mysql-bin
# 开启二进制日志文件功能,设置二进制日志文件目录存储路径
log_bin_index = /data/mysql/binlog/mysql-bin.index
# 二进制日志文件列表索引文件存放路径
binlog_cache_size = 4MB
max_binlog_size = 200MB
# log_bin_trust_function_creators = 1
# expire_logs_days = 30 ### relaylog ###
relay-log = /data/mysql/relaylog/mysql-relay-bin
relay_log_index = /data/mysql/relaylog/mysql-relay-bin.index ### slowlog ###
slow_query_log = ON
slow_query_log_file = /data/mysql/log/slow.log
long_query_time = 10 ### network ###
back_log = 512
max_allowed_packet = 64MB
max_connections = 1024
max_connect_errors = 100 ### buffer ###
# join_buffer_size = 1MB
# read_buffer_size = 1MB
# read_rnd_buffer_size = 1MB
# sort_buffer_size = 1MB ### query_cache ###
query_cache_type = ON
query_cache_size = 256MB
table_open_cache = 10000
thread_cache_size = 64 ### innodb ###
innodb_log_group_home_dir = /data/mysql/data
innodb_data_home_dir = /data/mysql/data
innodb_data_file_path = ibdata1:1G:autoextend
# innodb_buffer_pool_size = 2GB
# innodb_buffer_pool_instances = 1
innodb_flush_method = O_DIRECT
innodb_flush_log_at_trx_commit = 2
innodb_log_file_size = 2GB
innodb_log_files_in_group = 2
innodb_log_buffer_size = 16MB
innodb_read_io_threads = 4
innodb_write_io_threads = 4
innodb_lock_wait_timeout = 60
innodb_thread_concurrency = 4
innodb_open_files = 65535
open-files-limit = 65535 [root@localhost ~]# vim /etc/my.cnf
[mysql]
socket = /data/mysql/mysqld.sock [mysqladmin]
socket = /data/mysql/mysqld.sock [mysqldump]
socket = /data/mysql/mysqld.sock

6、创建一个数据库实例,初始化

初次运行,我们需要初始化数据库实例,生成基础数据库。

[root@localhost ~]# mysqld --defaults-file=/data/mysql/my.cnf --initialize

7、创建一个数据库实例,修改系统服务控制

将数据库实例服务交由系统管理工具“systemctl”托管。

[root@localhost ~]# vim /lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Community Server
After=network.target [Install]
WantedBy=multi-user.target [Service]
User=mysql
Group=mysql
Type=forking
PermissionsStartOnly=true
PIDFile=/data/mysql/mysqld.pid
#ExecStartPre=/usr/share/mysql/mysql-systemd-start pre
ExecStart=/usr/sbin/mysqld --defaults-file=/data/mysql/my.cnf --daemonize
TimeoutSec=600
LimitNOFILE = 65535
Restart=on-failure
RestartPreventExitStatus=1
RuntimeDirectory=mysqld
RuntimeDirectoryMode=755

8、创建一个数据库实例,启动服务

[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl start mysqld
[root@localhost ~]# netstat -lnupt |grep mysqld
tcp 0 0 0.0.0.0:43306 0.0.0.0:* LISTEN 11748/mysqld

9、创建一个数据库实例,重置超级管理员密码

我们需要通过错误日志获取初始化时生成的临时密码。

密码必须符合复杂性要求,需要字母大小写+数字+特殊符号。

[root@localhost ~]# cat /data/mysql/log/error.log |grep password
2019-05-06T01:41:01.728543Z 1 [Note] A temporary password is generated for root@localhost: eAywyZq/?0!g
[root@localhost ~]# mysqladmin -uroot -p'eAywyZq/?0!g' password 'ABCabc-123'

10、访问测试

[root@localhost ~]# mysql -uroot -p'ABCabc-123' -A
mysql>

安装MYSQL到CentOS(YUM)的更多相关文章

  1. Linux下安装mysql(1)(CentOS)

    标题是(1)也就是说这次是基础安装,这种方式安装,没有组的创建,权限管理,配置文件更改等,仅仅是最基本的安装,适合第一次在linux上安装mysql的新手 1.准备好安装包(Linux-Generic ...

  2. Ejabberd2:安装和操作指南(centos yum 安装ejabberd)

    (1)首先安装EPEL Repository     ## RHEL/CentOS 6 32-Bit ##  # wget http://download.fedoraproject.org/pub/ ...

  3. 阿里云服务器Linux CentOS安装配置(三)yum安装mysql

    阿里云服务器Linux CentOS安装配置(三)yum安装mysql 1.执行yum安装mysql命令:yum -y install mysql-server mysql-devel 2.启动mys ...

  4. CentOS 6.5 yum安装mysql5.6或其他版本【默认yum只能安装mysql 5.1】 by jason

    by jason [备份配置文件] CentOS 6.5 默认yum只能安装mysql 5.1 安装前要检查机器原来是否安装过mysql,如有安装需要先进行数据备份.清理. [root@snails ...

  5. CentOS yum安装Apache + PHP + Tomcat7 + MySQL

    Linux平台上用得最多的web环境就是php.java和MySQL了,会搭建这个环境,就能把很多开源程序跑起来. 作为一个程序猿,虽然并不用精通运维的活,但基本的Linux环境搭建还是要掌握比较好, ...

  6. centos使用yum安装mysql

    参考:http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/ 1.增加yum数据源 (1.1)从http://dev.mysql.com/dow ...

  7. 【Centos】yum安装MySQL

    安装步骤 1. 点击此处下载MySQL的YUM源 -- [ MySQL RPM] 选择适合你平台的rpm,我的是centos7 2. 安装MySQL的yum源,即RPM sudo yum locali ...

  8. Centos 7 中yum安装Mysql和修改mysql配置

    一. mysql安装 1.安装MySQL官方的Yum Repository [root@ecs-7bec-0002 mysql]# wget -i -c http://dev.mysql.com/ge ...

  9. CentOS安装MySQL

    好记性不如烂笔头,记录一下 yum list installed | grep mysql #检查是否安装了mysql yum -y remove mysql-libs.x86_64 #卸载已经安装的 ...

随机推荐

  1. 看完这篇文章,再次遇到Jedis「Redis客户端」异常相信你不再怕了!

    本文导读: [1] 疫情当前 [2] 应用异常监控 [3] Redis客户端异常分析 [4] Redis客户端问题引导分析 [5] 站在Redis客户端视角分析 [6] 站在Redis服务端视角分析 ...

  2. ros之参数的使用与编程方法

    参数模型 ROS Master (Parameter Server) /robot_name: "my_robot"        ----{Node A   Node B} /r ...

  3. flink 自定义触发器 定时或达到数量触发

    flink 触发器 触发器确定窗口(由窗口分配程序形成)何时准备由窗口函数处理.每个WindowAssigner都带有一个默认触发器. 如果默认触发器不适合需求,我们就需要自定义触发器. 主要方法 触 ...

  4. python中常见的报错信息

    python中常见的报错信息 在运行程序时常会遇到报错提示,报错的信息会提示是哪个方向错的,从而帮助你定位问题: 搜集了一些python最重要的内建异常类名: AttributeError:属性错误, ...

  5. Codeforces_713_A

    http://codeforces.com/problemset/problem/713/A 将读入的数全都存为二进制,用map保存对应的个数. #include<iostream> #i ...

  6. Python中zip()函数的解释和可视化

    zip()的作用 先看一下语法: zip(iter1 [,iter2 [...]]) -> zip object Python的内置help()模块提供了一个简短但又有些令人困惑的解释: 返回一 ...

  7. Java 中序列化与反序列化

    一. 序列化和反序列化概念 Serialization(序列化)是一种将对象以一连串的字节描述的过程:反序列化deserialization是一种将这些字节重建成一个对象的过程.将程序中的对象,放入文 ...

  8. 深入理解JVM(学习过程)

    这,仅是我学习过程中记录的笔记.确定了一个待研究的主题,对这个主题进行全方面的剖析.笔记是用来方便我回顾与学习的,欢迎大家与我进行交流沟通,共同成长.不止是技术. 2020年02月06日22:43:0 ...

  9. hive on spark 编译时遇到的问题

    1.官方网站下载spark 1.5.0的源码 2.根据官方编译即可. export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedC ...

  10. SELinux 和 iptables 开启关闭

    SELinux 是 2.6 版本的 Linux 内核中提供的强制访问控制(MAC)系统.对于目前可用的 Linux安全模块来说,SELinux 是功能最全面,而且测试最充分的,它是在 20 年的 MA ...