5分钟完成mysql5.7离线安装

场景描述

mysql离线安装并不复杂,就是经常会出现漏东西,有时候的搞半天,总结下,快速离线安装mysql,直接把下面的命令敲一遍就好,5-10分钟就能安装好。

解决方案

安装的mysql版本为:5.7,官网下载的gz包为:mysql-5.7.24-el7-x86_64.tar.gz。

安装

主要是上传文件、解压、新建用户等。

详细命令

  1. gz文件上传到目录: /usr/local/

  2. 解压

   cd /usr/local/
   tar -zxvf mysql-5.7.24-el7-x86_64.tar.gz
   mkdir mysql
   mv mysql-5.7.24-el7-x86_64/*  mysql
   rm -rf mysql-5.7.24-el7-x86_64
   rm -rf mysql-5.7.24-el7-x86_64.tar.gz 

3.新建mysql用户

  groupadd mysql  //创建用户组
  useradd -r -g mysql mysql //-r参数表示mysql用户是系统用户,不可用于登录,创建用户并将用户组
  chown -R mysql mysql/
  chgrp -R mysql mysql/

配置参数

主要是配置my.cnf文件

2.2.1 详细命令
vi /etc/my.cnf

内容如下,可以添加你需要的配置:

[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
#不区分大小写
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'

保存内容,按esc输入如下命令
:wq!

初始化命令

回过头来使用教程又安装,发现有两个坑,记录下,root账户执行

yum install libaio
cd /var/log/

vi mysqld.log
:wq

chmod 777 mysqld.log
chown mysql:mysql mysqld.log

-----------------------
cd /var/run/
mkdir mysqld
chmod 777 mysqld
cd mysqld
vim mysqld.pid

chmod 777 mysqld.pid
chown mysql:mysql mysqld.pid 

然后再执行初始化:

/usr/local/mysql/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

执行成功后,查看默认的初始化密码

查看初始密码

cat /var/log/mysqld.log

基本最后的地方:
A temporary password is generated for root@localhost: B2iSyfs;d(dT

其中B2iSyfs;d(dT,就是初始密码(root@localhost: 这里就是初始密码)

完成配置,启动服务

使用mysql用户启动

/usr/local/mysql/support-files/mysql.server start
启动完成后,可以用ps命令看一下是否已经启动成功。

远程连接

mysql服务启动完成后,默认远程客户端是无法连接接的,需要在linux环境下登录mysql,并执行相关命令。

/usr/local/mysql/bin/mysql -uroot -p mysql

输入root密码:(B2iSyfs;d(dT)

set password=password(‘laowang’);

UPDATE mysql.user SET Host = ‘%’, User = ‘root’ WHERE (Host = ‘localhost’) AND (User = ‘root’);
FLUSH PRIVILEGES;

设置开机自动启动

cd /usr/local/mysql/support-files
cp mysql.server /etc/init.d/mysqld

chkconfig --add mysqld

其他(服务重启命令等)

su - mysql

service mysqld start/stop/restart

GRANT ALL PRIVILEGES ON . TO ‘user’@‘localhost’ IDENTIFIED BY ‘123456’;

问题:

鉴于很多童鞋反应,mysql5.7安装后出现无法启动,建立/var/run/mysqld 并赋权mysql用户解决了启动的问题,但是重启系统后又出现无法启动的问题,导致/var/run/mysqld 目录每次重启后都需要手动去创建并赋权mysql用户才能起到mysql,可以说,这是mysql5.7的一个小BUG,经过探索实践,现给出终极解决方案:

修改 my.cnf 配置内容后 pid-file=/usr/local/mysqld/mysqld.pid 后解决

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值