基础环境准备
[root@www ~]# yum -y install gcc vim wget net-tools lrzsz libaio
备注:
libaio是linux版本的aio库,aio指的是异步io
2:创建运行用户
[root@www ~]# useradd -M -s /sbin/nologin mysql
3:关闭防火墙
[root@www ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
[root@www ~]# setenforce 0
[root@www ~]# systemctl disable firewalld
[root@www ~]# systemctl stop firewalld
4:二进制安装
[root@www ~]# tar zxvf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
[root@www ~]# mv mysql-5.7.28-linux-glibc2.12-x86_64 /usr/local/mysql
[root@www ~]# mkdir /usr/local/mysql/data
[root@www ~]# chown -R mysql.mysql /usr/local/mysql/data
[root@www ~]# cd /usr/local/mysql/bin
[root@www ~]# ./mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
5:设定配置文件
[root@www ~]# vim /etc/my.cnf
[client]
socket=/usr/local/mysql/data/mysql.sock
[mysqld]
socket=/usr/local/mysql/data/mysql.sock
bind-address = 0.0.0.0
skip-name-resolve
port = 3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
max_connections=2048
character-set-server=utf8
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
[mysqld_safe]
log-error=/usr/local/mysql/data/error.log
#pid-file=/var/run/mariadb/mariadb.pid
备注:
skip-name-resolve :跳过名称解析
所谓反向解析是这样的:
mysql接收到连接请求后,获得的是客户端的ip,为了更好的匹配mysql.user里的权限记录(某些是用hostname定义的)。
如果mysql服务器设置了dns服务器,并且客户端ip在dns上并没有相应的hostname,那么这个过程很慢,导致连接等待。
添加skip-name-resolve以后就跳过着一个过程了
[root@www ~]# echo "export PATH=$PATH:/usr/local/mysql/bin">> /etc/profile
[root@www ~]# . /etc/profile
6:配置 systemctl 方式启动
[root@www ~]# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@www ~]# chmod +x /etc/rc.d/init.d/mysqld
[root@www ~]# vim /lib/systemd/system/mysqld.service
[Unit]
Description=mysqld
After=network.target
[Service]
Type=forking
ExecStart=/etc/rc.d/init.d/mysqld start
ExecReload=/etc/rc.d/init.d/mysqld restart
ExecStop=/etc/rc.d/init.d/mysqld stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
7:访问 MySQL 数据库
[root@www ~]# mysql -u root -p
mysql>set password =password('pwd123');