MYSQL mounted to CentOS (YUM)

Operating Environment

System version: CentOS Linux release 7.3.1611 (Core)
software version: MYSQL-5.7
Hardware requirements: None

Installation process

1, Basic Configuration

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

2, the repository installation YUM-MYSQL

YUM-MYSQL MYSQL official repository provided by the network.

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

3, install MYSQL

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

4, create a database instance, create the relevant directory and authorization

[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. Create a database instance, create a profile

The following is a performance-optimized configuration file.
Without knowing that we only need to focus on a few simple basic configuration can be.

[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, create a database instance initialization

Initial run, we need to initialize the database instance, generate the underlying database.

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

7, create a database instance, modify the system control service

The database instance service referred to system management tools "systemctl" hosting.

[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, create a database instance, start the service

[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, create a database instance, the super administrator password reset

We need to get a temporary password generated by initialization error log.
Passwords must meet complexity requirements, the need capitalization + numbers + special symbols.

[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, test access

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

Guess you like

Origin www.cnblogs.com/network-ren/p/12377497.html