Codeforces Round #684 (Div. 2)
阿新 • • 發佈:2020-11-18
一、安裝前的一些基礎優化
1、優化映象源
[root@wxw ~]# rm -fr /etc/yum.repos.d/* curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@wxw ~]# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
2、安裝一些會用到的軟體包
[root@wxw ~]# yum install net-tools vim tree htop iftop gcc gcc-c++ glibc iotop lrzsz sl wget unzip telnet nmap nc psmisc dos2unix bash-completion bash-completion-extra sysstat libaio-devel -y
3、關閉防火牆,SELinux
到此安裝完成
[root@wxw ~]# systemctl stop firewalld
[root@wxw ~]# sed -i '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config
4、調整單個程序最大能開啟檔案的數量
[root@mysqlJX ~]# echo '* - nofile 65535' >> /etc/security/limits.conf
二、安裝mysql資料庫
1、下載mysql安裝包
[root@wxw ~]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz
2、移除系統自帶的mariadb
[root@wxw ~]# rpm -qa |grep mariadb
mariadb-libs-5.5.60-1.el7_5.x86_64
[root@wxw ~]# yum remove mariadb-libs-5.5.60-1.el7_5.x86_64
3、建立mysql使用者
[root@wxw ~]# useradd -s /sbin/nologin mysql
4、創鍵 /application 目錄
[root@mysqlJX ~]# mkdir /application
5.解壓mysql壓縮包到指定目錄下
[root@wxw ~]# tar xf mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz -C /application/ [root@wxw ~]# mv mysql-5.7.26-linux-glibc2.12-x86_64 /application/mysql #重新命名
6、設定環境變數
[root@wxw /application]# vim /etc/profile
#加入這條配置資訊
export PATH=/application/mysql/bin:$PATH
[root@wxxw /application]# source /etc/profile
7、建立 /data目錄並授權
[root@wxw /application]# mkdir /application/mysq/data -p
[root@wxw /application]# chown -R mysql.mysql /data
8、初始化資料
[root@wxwx /application]# mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data
說明:
--initialize 引數:
\1. 對於密碼複雜度進行定製:12位,4種
\2. 密碼過期時間:180
\3. 給root@localhost使用者設定臨時密碼
9、準備配置檔案
[root@wxw ~]# cat >/etc/my.cnf <<EOF
[mysqld]
user=mysql
basedir=/application/mysql
datadir=/application/mysql/data
socket=/tmp/mysql.sock
server_id=6
port=3306
[mysql]
socket=/tmp/mysql.sock
EOF
10、啟動MySQL
[root@wxw /application]# cd /etc/init.d/
[root@wxw /etc/init.d]# cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@wxw /etc/init.d]# netstat -lntp|grep 3306
tcp6 0 0 :::3306 :::* LISTEN 25760/mysqld
[root@wxw /etc/init.d]# ps -ef|grep 3306
mysql 25760 25594 0 10:35 pts/0 00:00:00 /application/mysql/bin/mysqld --basedir=/application/mysql --datadir=/data/mysql/data --plugin-dir=/application/mysql/lib/plugin --user=mysql --log-error=mysqlJX.err --pid-file=/data/mysql/data/mysqlJX.pid --socket=/tmp/mysql.sock --port=3306
root 25796 13111 0 10:37 pts/0 00:00:00 grep --color=auto 3306
11、用systemd管理mysql
cat >/etc/systemd/system/mysqld.service <<EOF
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
#這行以後根據生產環境的要求進行更改
ExecStart=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
EOF
12、將mysql加入開機自啟動
[root@wxw ~]# systemctl start mysqld
[root@wxw ~]# systemctl enable mysqld
Created symlink from /etc/systemd/system/multi-user.target.wants/mysqld.service to /etc/systemd/system/mysqld.service.
13、設定mysql root使用者禁止遠端登入
[root@wxw ~]# grant all on *.* to root@'localhost' identified by '123456';
14、設定遠端登入使用者
grant all on *.* to root@'wxw' identified by '123';