先上下载连接,方便满世界找安装包的兄弟

直接下载:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
如果上面失效或想下载其他版本的,访问官网下载页面:https://dev.mysql.com/downloads/mysql/5.7.html

正片开始(mysql安装)

1.配置yum源,安装依赖包

yum -y install libaio numactl

注:如果yum错误,建议检查网络和yum源配置

2.上传源码包到/opt下解压mysql源码包并更改文件夹名称

cd /opt && tar zxvf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.31-linux-glibc2.12-x86_64 mysql

注:记得文件名要和官网下载的文件名一致

3.创建data目录

mkdir /opt/mysql/data

4.添加mysql用户和用户组

groupadd mysql
useradd -r -g mysql mysql

5.更改mysql文件夹所属

chown -R mysql:mysql mysql/

6.初始化数据库

cd /opt/mysql/bin && ./mysqld --initialize --user=mysql --basedir=/opt/mysql/ --datadir=/opt/mysql/data/ --lc_messages_dir=/opt/mysql/share --lc_messages=en_US
## 添加 --initialize-insecure 使用此参数就不会生成随机密码

注:上一条命令执行完之后会生成临时密码,注意记录如下

2018-05-11T07:18:39.925672Z 1 [Note] A temporary password is generated for root@localhost: Zp0$JZ!vjQf
注意:Zp0$JZ!vjQf即是数据库密码。你们的密码要查看你们自己控制台上的记录

7.修改配置文件

mkdir /opt/mysql/binlog
vim /etc/my.cnf
##下面是配置文件内容,直接删除原来的粘贴进去即可
[mysqld]
datadir=/opt/mysql/data
basedir=/opt/mysql
socket=/tmp/mysql.sock
user=mysql
lower_case_table_names=1
symbolic-links=0
slow_query_log = 1
slow_query_log_file = /var/log/mysql-slow.log
long_query_time = 2
max_connections=1000
max_allowed_packet = 100M
innodb_flush_log_at_trx_commit = 0
open_files_limit=65535
table_open_cache=128
thread_cache_size=64
default-storage-engine=InnoDB
innodb_buffer_pool_size=5000M
character_set_server=utf8
innodb_lock_wait_timeout=500
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

server-id=1
log-bin=/opt/mysql/binlog/mysql-bin  ##该文件夹一定要存在,不然无法启动
sync_binlog=1
binlog_format=mixed
expire_logs_days=3
max_binlog_size=1024M

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

8.mysql开机自启动

cp /opt/mysql/support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig --add mysql
chkconfig mysql on

9.启动和停止mysql

service mysql start
service mysql stop

10.修改环境变量修改mysql密码

vim /etc/profile
export PATH=$PATH:/opt/mysql/bin
source /etc/profile
##此处输入的密码为第6步生成的密码,每个人都不同,我的是Zp0$JZ!vjQf
mysql -u root -p Zp0$JZ!vjQf
##设置新密码,123456为我设置的密码,大家可以根据自己安全性更改密码
set password=password("123456");
flush privileges;
quit

11.修改远程连接权限

如果是小白,不需要外网连接数据库的需求,那么到此结束!!!
下面命令涉及数据库的网络开放风险,小白请确认需求后再决定是否执行

##登入数据库
mysql -u root -p 123456
##开放root外网连接权限
grant all privileges on *.* to'root' @'%' identified by '123456';
##刷新系统权限
flush privileges;
##退出
quit
##关闭防火墙
service firewall stop

Q.E.D.

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议