1. 场景描述
mysql离线安装并不复杂,就是经常会出现漏东西,有时候的搞半天,总结下,快速离线安装mysql,直接把下面的命令敲一遍就好,5-10分钟就能安装好。
2. 解决方案
下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
安装的mysql版本为:5.7,官网下载的gz包为:mysql-5.7.24-el7-x86_64.tar.gz。
2.1 安装
主要是上传文件、解压、新建用户等。
2.1.1 详细命令
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/
2.1.2 效果图
2.2 配置参数
主要是配置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!
2.2.2 效果图:
2.3 初始化命令
---------------20191023更新-----------
回过头来使用教程又安装,发现有两个坑,记录下,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
vi mysqld.pid
:wq
chmod 777 mysqld.pid
chown mysql:mysql mysqld.pid
然后再执行初始化:
root账户下执行:
/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: 这里就是初始密码)
2.4 完成配置,启动服务
使用mysql用户启动
su - mysql
输入密码
/usr/local/mysql/support-files/mysql.server start
启动完成后,可以用ps命令看一下是否已经启动成功。
2.5 远程连接
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;
2.6 设置开机自动启动
root账户下:
cd /usr/local/mysql/support-files
cp mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
2.7 其他(服务重启命令等)
su - mysql
service mysqld start/stop/restart
更多知识请关注公众号:「软件老王」,IT技术与相关干货分享,回复关键字获取对应干货,java,送必看的10本“武功秘籍”;图片,送100多万张可商用高清图片;面试,送刚毕业就能月薪“20k”的java面试题,后续不断更新中,比如“软考”、“工具”等,已经在整理中。