首先在官网下载对应版本的Linux安装包。一般来说应用 community 版本就可以。

mysql community version download addr

1. 将文件上传至 Linux 并解压

# 我将文件放到了HOME文件下
[root@192 home]# tar -zxf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
# 移动到 usr/local 下
[root@192 home]# mv mysql-5.7.28-linux-glibc2.12-x86_64 /usr/local/mysql

2. 创建 mysql 用户和组,并授权 mysql文件夹 读写权限

[root@192 mysql]# groupadd mysql
[root@192 mysql]# useradd -r -g mysql mysql
[root@192 local]# chown -R mysql mysql/
[root@192 local]# chgrp -R mysql mysql/

3. 修改配置文件

[root@192 etc]# vim my.cnf
==========================================
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd [mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid #
# include all files from the config directory
#
!includedir /etc/my.cnf.d # my append
[client]
port = 3306
socket = /tmp/mysql.sock [mysqld]
character_set_server=utf8mb4
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
#不区分大小写
#lower_case_table_names = 1
#
#sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
#
#max_connections=5000
#
default-time_zone = '+8:00
=======================================

4. 初始化数据库

# 检查一下是否安装了这个程序,没有的话安装一下
[root@192 etc]# yum list installed|grep libaio
libaio.x86_64 0.3.109-13.el7 @anaconda
# 根据上面配置文件中的 log 文件地址创建 log文件
[root@192 home]# touch /var/log/mariadb/mariadb.log
# 授权 mysql 用户
[root@192 home]# chmod 777 /var/log/mariadb/mariadb.log
[root@192 home]# chown mysql:mysql /var/log/mariadb/mariadb.log
# initlize , 进入mysql/bin 目录下
[root@192 bin]# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US
# 这是密码,安装后看自己的。找不到了就去看日志。
2020-05-10T07:05:01.535756Z 1 [Note] A temporary password is generated for root@localhost: htE%6JojCror

5. 启动服务,修改密码

# 根据配置创建 pid-file 文件
[root@192 run]# mkdir mariadb
[root@192 run]# touch mariadb/mariadb.pid
[root@192 run]# sudo chmod 777 mariadb/mariadb.pid
[root@192 run]# chown mysql:mysql mariadb
[root@192 run]# chown mysql:mysql mariadb/mariadb.pid
# 启动服务
[root@192 run]# /usr/local/mysql/support-files/mysql.server start
Starting MySQL.. SUCCESS!
[root@192 run]# /usr/local/mysql/bin/mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.28
# 修改密码
mysql> set password=password('123456');
Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec) mysql> UPDATE `mysql`.`user` SET `Host` = '%', `User` = 'root' WHERE (`Host` = 'localhost') AND (`User` = 'root');
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0 mysql> UPDATE `mysql`.`user` SET `Host`='%', `User`='root', `Select_priv`='Y', `Insert_priv`='Y', `Update_priv`='Y', `Delete_priv`='Y', `Create_priv`='Y', `Drop_priv`='Y', `Reload_priv`='Y', `Shutdown_priv`='Y', `Process_priv`='Y', `File_priv`='Y', `Grant_priv`='Y', `References_priv`='Y', `Index_priv`='Y', `Alter_priv`='Y', `Show_db_priv`='Y', `Super_priv`='Y', `Create_tmp_table_priv`='Y', `Lock_tables_priv`='Y', `Execute_priv`='Y', `Repl_slave_priv`='Y', `Repl_client_priv`='Y', `Create_view_priv`='Y', `Show_view_priv`='Y', `Create_routine_priv`='Y', `Alter_routine_priv`='Y', `Create_user_priv`='Y', `Event_priv`='Y', `Trigger_priv`='Y', `Create_tablespace_priv`='Y', `ssl_type`='', `ssl_cipher`='', `x509_issuer`='', `x509_subject`='', `max_questions`='0', `max_updates`='0', `max_connections`='0', `max_user_connections`='0', `plugin`='mysql_native_password', `authentication_string`='*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9', `password_expired`='N', `password_last_changed`='2017-11-20 12:41:07', `password_lifetime`=NULL, `account_locked`='N' WHERE (`User`='root');
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0 mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

6. 开机自启动、

[root@192 init.d]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@192 init.d]# chkconfig --add mysqld
[root@192 init.d]# vim /etc/profile
# mysql
export PATH=/usr/local/mysql/bin:$PATH
[root@192 init.d]# source /etc/profile
grant all privileges on *.* to '新用户名'@'%' identified by '新密码';
flush privileges;

Linux 安装 MySql5.7的更多相关文章

  1. linux安装MySQL5.7记录

    目录 linux安装MySQL5.7记录 1. 在根目录下创建文件夹/software和数据库数据文件/data/mysql 2. 从官网下载相应的MySQL版本 3. 解压并移动到/software ...

  2. linux 安装 mysql-5.6.26

    linux安装mysql-5.6.26 查看工具:winscp 下载地址 http://mirrors.sohu.com/mysql/MySQL-5.6/ 文件: mysql-5.6.26-linux ...

  3. Kali 2019(debian linux)安装MySql5.7.x

    Kali 2019(debian linux)安装MySql5.7.x MySQL安装 确认是否安装MySQL 终端输入:mysql 如出现Welcome to the MariaDB monitor ...

  4. Linux安装MySql5.7及配置(yum安装)

    Linux安装MySql5.7及配置(yum安装) [root@xld ~]# rpm -q centos-release centos-release-7-7.1908.0.el7.centos.x ...

  5. Linux安装mysql5.7版本

    1.linux安装mysql5.7顺序 ①mysqladmin –version 查看版本号 ②mysql5.7安装在linux中需要先初始化 Mysqld –initialize –user=mys ...

  6. linux安装MySQL5.7.13(二进制|源码)

    二进制和源码版本安装MySQL5.7.13,并简单介绍不同之处. 一.通用二进制部分 1.下载MySQL通用二进制软件包.[root@node1 ~]# wget http://120.52.72.2 ...

  7. Linux安装mysql5.6

    安装mysql5.6https://www.cnblogs.com/wangdaijun/p/6132632.html

  8. Linux安装mysql5.7

    mysql安装排坑,不同版本可能会使用命令不同,这里需要谨慎查阅. 1. 按照需求在mysql官网下载对应linux版本. 2.创建mysql目录,将下载的安装包安装到目录下mkdir /usr/lo ...

  9. linux 安装mysql5.7.25

    这两天一直在弄mysql.一直安装.终于可以安装一个成一个了.哈哈哈 自己又写了个脚本希望对大家有所帮助 脚本非常简单 不错操作起来也很容易 重要提示 我的linux 是centos7.不是6. 7和 ...

  10. linux安装mysql5.7.19

    0.查看操作系统内核版本 cat /proc/version [admin@octopus-att-d-030098 ~]$ cat /proc/versionLinux version 3.10.0 ...

随机推荐

  1. shipyard的安装与一般维护

    #一.安装前的准备: docker pull alpine docker pull library/rethinkdb docker pull microbox/etcd docker pull sh ...

  2. java判断是否是合法IP

    public boolean ipCheck(String text) { if (text != null && !text.isEmpty()) { // 定义正则表达式 Stri ...

  3. 哈理工新生赛 马拉车+贪心 最大密度子图 AC自动机+DP

    J.Symmys Time Limit: 1000 MS Memory Limit: 262144 K Total Submit: 50 (13 users) Total Accepted: 2 (2 ...

  4. mysql单记录也能造成的死锁

    最近在开发的时候,在mysql Innodb 引擎下,一条记录记录也能引起锁的事件. 场景描述 在项目压测的是,突然发现有类似以下的异常发生: com.mysql.jdbc.exceptions.jd ...

  5. python遍历

    实现遍历: #coding=utf-8 #遍历的2种方式 import os #1.使用os.listdir(f) def traverse(f): fs = os.listdir(f) for f1 ...

  6. HomeLede 2020.5.27更新 UPnP+NAS+多拨+网盘+DNS优化+帕斯沃/Clash 无缝集成+软件包

    交流群:QQ 1030484865 电报 t.me/t_homelede   固件说明 基于Lede OpenWrt R2020.5.20版本(源码截止2020.5.27)及若干自行维护的软件包 结合 ...

  7. 错误记录:Data too long for column 'xxx' at row 1

    错误记录:Data too long for column 'xxx' at row 1 使用Flask-sqlalchemy操作数据时报错: "Data too long for colu ...

  8. 使用Burpsuite对手机抓包的配置

    之前使用dSploit的时候就一直在想怎么对手机进行抓包分析,前两天使用了Burpsuite神器,发现通过简单的配置就可以抓手机app的数据包了,进而分析手机app的流量. 配置环境: 1.win7下 ...

  9. Rocket - diplomacy - LazyModule的组织方式

    https://mp.weixin.qq.com/s/vaDUekxkFkOJLmzg5jCngw 简单介绍LazyModule/LazyModuleImp的组织方式. 1. LazyModule L ...

  10. 【Java面试必备JVM】JVM看这篇就够了

    链接–>JVM