mysql安装步骤

一、安装前的一些基础优化

1、优化镜像源

[root@mysqlJX ~]# rm -fr /etc/yum.repos.d/* curl -o /etc/yum.repos.d/CentOS-Base.repo  http://mirrors.aliyun.com/repo/Centos-7.repo
[root@mysqlJX ~]# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

2、安装一些会用到的软件包

[root@mysqlJX ~]#  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@mysqlJX ~]# systemctl stop firewalld
[root@mysqlJX ~]# sed -i '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config

4、调整单个进程最大能打开文件的数量

 [root@mysqlJX ~]# echo '* - nofile 65535' >> /etc/security/limits.conf

二、安装mysql数据库

1、下载mysql安装包

[root@mysqlJX ~]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz

2、移除系统自带的mariadb

[root@mysqlJX ~]#  rpm -qa |grep mariadb
mariadb-libs-5.5.60-1.el7_5.x86_64
[root@mysqlJX ~]# yum remove mariadb-libs-5.5.60-1.el7_5.x86_64

3、创建mysql用户

[root@mysqlJX ~]#  useradd -s /sbin/nologin mysql 

4、创键 /application 目录

[root@mysqlJX ~]# mkdir /application

5.解压mysql压缩包到指定目录下

[root@mysqlJX ~]# tar xf mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz -C /application/
  [root@mysqlJX ~]# mv mysql-5.7.26-linux-glibc2.12-x86_64  /application/mysql  #重命名

6、设置环境变量

[root@mysqlJX /application]# vim /etc/profile
#加入这条配置信息
export PATH=/application/mysql/bin:$PATH
[root@mysqlJX /application]# source /etc/profile

7、创建 /data目录并授权

[root@mysqlJX /application]# mkdir /data/mysq/data -p
[root@mysqlJX /application]# chown -R mysql.mysql /data

8、初始化数据

[root@mysqlJX /application]# mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data

说明:

--initialize 参数:

1. 对于密码复杂度进行定制:12位,4种

2. 密码过期时间:180

3. 给root@localhost用户设置临时密码

9、准备配置文件

[root@mysqlJX ~]# cat >/etc/my.cnf <<EOF
[mysqld]
user=mysql
basedir=/application/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
server_id=6
port=3306
[mysql]
socket=/tmp/mysql.sock
EOF

10、启动MySQL

[root@mysqlJX /application]# cd /etc/init.d/
[root@mysqlJX /etc/init.d]# cp /application/mysql/support-files/mysql.server  /etc/init.d/mysqld 
[root@mysqlJX /etc/init.d]# netstat  -lntp|grep 3306
tcp6       0      0 :::3306                 :::*                    LISTEN      25760/mysqld        
[root@mysqlJX /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@mysqlJX ~]# systemctl start mysqld
[root@mysqlJX ~]# 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@mysqlJX ~]# grant all on *.* to root@'localhost' identified by '123456';

14、设置远程登录用户

grant all on *.* to root@'wxw' identified by '123';
原文地址:https://www.cnblogs.com/wangxiaopang/p/13093615.html