1. 程式人生 > 實用技巧 >Codeforces Round #684 (Div. 2)

Codeforces Round #684 (Div. 2)

一、安裝前的一些基礎優化

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';