linux系统下安装MySQL5.7详细教程
本次安装使用压缩包方式安装,同时附带systemv和systemd两种启动方式配置,绝对保姆级教程。学习此教程需要了解Linux基础命令掌握vi编辑器。
一、下载压缩包
前往MySQL官网下载MySQL5.7.28的Linux二进制社区版压缩包,操作系统类型根据自己情况选择,一般选择64位。如果觉得去官网下载比百度网盘还要慢,可以去我的百度网盘自取,百度网盘链接 提取码:8jvw。
二、安装
在/opt目录下创建application文件夹,通过xftp将压缩包传输到Linux系统上/opt/application中并解压并且重命名为mysql,Xftp工具百度网盘地址 提取码:lzwx。使用方法和Xshell一样。
创建文件夹命令:
cd /opt
mkdir /application
解压命令和重命名命令:
tar -zxvf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.28-linux-glibc2.12-x86_64 mysql
写入环境变量中,文件所在位置 /etc/profile,在profile文件最后加上export PATH=/opt/application/mysql/bin:$PATH。注:根据自己安装路径添加
命令如下:
vim /etc/profile
2.1移除Linux默认数据库Maria DB
根据自己系统Maria DB版本移除,别照抄命令。
rpm -qa | grep mariadb
yum remove mariadb-libs-5.5.56-2.el7.x86_64 -y
2.2在根目录下创建/data文件夹,作为数据和日志文件存储目录
mkdir /data
2.3创建mysql用户并授权,数据存储目录和软件安装目录都要授权
命令:
useradd mysql
chown -R mysql.mysql /opt/application/*
chown -R mysql.mysql /data
2.4初始化数据
初始化数据输出原始密码用于root用户第一次登录。
mkdir /data/mysql/data -p
chown -R mysql.mysql /data
mysqld --initialize --user=mysql --basedir=/opt/application/mysql --datadir=/data/mysql/data
注:此处报-bash: mysqld: command not found是因为/etc/profile配置文件没有生效,使用 source /etc/profile命令使其生效,在重新初始化数据。
2.5配置启动方式
2.5.1systemv启动方式
配置MySQL启动方式配置文件,命令如下:
cat >/etc/my.cnf <<EOF
[mysqld]
user=mysql
basedir=/opt/application/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
server_id=6
port=3306
[mysql]
socket=/tmp/mysql.sock
EOF
配置文件介绍:
#服务器端配置,标签[mysqld_dafe][server]也行
[mysqld]
#用户
user=mysql
#软件安装路径
basedir=/opt/application/mysql
#数据路径
datadir=/data/mysql/data
#socket文件路径
socket=/tmp/mysql.sock
#服务器ID号,在主从关系中区分不同节点。
server_id=6
#端口号
port=3306
#客户端配置,标签[mysqladmin][mysqldump][client]也行
[mysql]
#socket文件目录与服务器端socket文件位置一样
socket=/tmp/mysql.sock
启动:先拷贝配置文件再启动。
cp /opt/application/mysql/support-files/mysql.server /etc/init.d/mysqld
service mysqld restart
2.5.2systemd
配置文件命令
cat >/etc/systemd/system/mysqld.service <<EOF
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/opt/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
EOF
启动
systemctl start mysqld
三、远程登录
要想远程登录要先启动MySQL,并且给数据库用户远程连接权限,先登录,再重置密码(必须重置初始化密码),最后授权远程登录(授权规则’用户名’@‘白名单’)。
mysql -uroot -p 初始化密码
ALTER USER USER() IDENTIFIED BY '123456';
grant all on *.* to root@'%' identified by '123456';
使用Navicat Premium 12连接测试。Navicat 网盘资源 提取码:f3dg
获取IP地址命令:ip addr
注:有些远程登录连接不上可能是因为防火墙问题
关闭防火墙:systemctl stop firewalld.service;