CentOS7 安装MySQL 5.7 无网络

2020-09-22 0 条评论 47 次阅读 0 人点赞

CentOS7 安装MySQL 5.7 无网络

  1. 环境说明

服务器版本

CentOS Linux release 7.6.1810 (Core)

数据库版本

MySQL 5.7

所需文件/软件

screen

mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar

CentOS-7-x86_64-DVD-1810.iso(无外网安装时)

  1. 本地yum源配置

挂载安装文件

为解决数据库安装过程中缺少的依赖条件,需配置本地yum源。配置前,需要挂载安装光盘或者上传ISO镜像到服务器,然后执行

光盘:

mkdir /mnt/dvd

mount /dev/cdrom /mnt/dvd/

ISO镜像:

mkdir /mnt/dvd

mount -o loop /soft/CentOS-7-x86_64-DVD-1810.iso /mnt/dvd

添加本地源

将/etc/yum.repos.d/ 所有的以.repo结尾的文件全部重命名为:xxxx.repo.backup或移动所属目录

新建local.repo

vim /etc/yum.repos.d/local.repo

[local-media]

name=CentOS-$releasever - Media

baseurl=file:///mnt/dvd/

#file:///mnt/dvd2/

#如果有第二张光盘将前面dvd2行前面的 # 注释符号去掉

gpgcheck=0

enabled=1

gpgkey=file:///mnt/dvd/RPM-GPG-KEY-CentOS-7

执行以下命令,清空yum缓存并创建新的缓存

yum clean all

yum makecache

然后 yum install wget 试一下能否正常安装依赖包,没有报错的话就是正常

  1. 安装说明

目录创建

yum install screen -y

screen -S mysql

#为避免断网等情况造成安装中断,安装前先创建一个screen,在screen中进行安装部署

#screen使用方法:https://www.taohuadongle.com/?p=838

mkdir /soft

mkdir /app

文件上传、解压

mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar --可从华为开源镜像站下载,速度快

tar -xf mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar

MySQL 5.7安装

删除mariadb

mariadb-libs 影响 common 、libs等安装,需在安装前删除

rpm -qa|grep mariadb

rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

MySQL rpm包安装

按顺序对以下 rpm包进行安装

rpm -ivh mysql-community-common-5.7.30-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.30-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.30-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.30-1.el7.x86_64.rpm

如果过程中有报错,如下图,可手动安装所需依赖解决。

yum install numactl* -y

查找root用户密码

先启动或重启MySQL,不重启mysqld.log是空的,找不到密码

systemctl restart mysqld

再使用以下命令查看生成的默认密码:

grep 'temporary password' /var/log/mysqld.log

设置root用户密码

进入mysql,修改root用户的密码,在未修改密码之前,其他操作受限。默认情况下有密码强度规则,需录入包含大小写、符号、数字的密码

mysql -u root -p

alter user 'root'@'localhost' identified by '新密码';

如果不需要复杂的密码,执行以下语句修改为只检测密码长度

set global validate_password_policy=0;

alter user 'root'@'localhost' identified by 'hhx123456';

MySQL常用命令

启动数据库:service mysql start

停止数据库:service mysql stop

重启数据库:service mysql restart

查看数据库状态:service mysql status

或者

启动数据库:systemctl start mysqld

停止数据库:systemctl stop mysqld

重启数据库:systemctl restart mysqld

添加开机启动:systemctl enable mysqld

本地打开数据库(root用户):mysql -u root -p

远程打开数据库(root用户):mysql -h 192.168.242.129 -u root -p -P 3306

安装路径修改

先停止数据库,创建数据库文件、日志存放目录

systemctl stop mysqld

mkdir -p /app/mysql/log

将原路径下的文件拷贝到新的目录中

cp -a /var/lib/mysql /app/mysql/

mv /app/mysql/mysql /app/mysql/data

chown -R mysql:mysql /app/mysql

再修改/etc/my.cnf

vim /etc/my.cnf

datadir=/var/lib/mysql

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

改为

datadir=/app/mysql/data

log-error=/app/mysql/log/mysqld.log

pid-file=/app/mysql/data/mysqld.pid

如果不能重新启动,执行

setenforce 0

端口修改

将端口由默认的“3306”修改为“31306”,先检查“31306”端口是否被占用

netstat -tln

确定没有占用后

vim /etc/my.cnf

[mysqld]

port = 3306

改为

[mysqld]

port = 31306

重启数据库

service mysql restart

检查修改情况

netstat -tln

取消表/列等大小写区分

在my.cnf文件中找到[mysqld]段,在下面加入一行“lower_case_table_names=1”并重启数据库

vim /etc/my.cnf

[mysqld]

port = 3306

改为

[mysqld]

port = 31306

#取消大小写区分

lower_case_table_names=1

重启数据库

service mysql restart

设置utf8编码

在my.cnf文件中加入以下信息并重启数据库

vim /etc/my.cnf

[client]

default-character-set=utf8

[mysqld]

default-storage-engine=INNODB

character-set-server=utf8

collation-server=utf8_general_ci

重启数据库

service mysql restart

开启远程连接

数据库端

mysql -u root -p

mysql> use mysql;

mysql> SELECT Host,User FROM user;

mysql> UPDATE user SET Host = '%' WHERE User = 'root' LIMIT 1;

mysql> flush privileges;

mysql> SELECT Host,User FROM user;

#如需手动添加远程访问

#语法:GRANT ALL PRIVILEGES ON *.* TO 'root'@'*' IDENTIFIED BY '密码' WITH GRANT OPTION;

#第一个*代表数据库,第二个*代表表,密码可单独设置

防火墙端

将CentOS 7使用的是firewall防火墙,先检查防火墙现有打开的端口

firewall-cmd --list-ports

然后添加“31306”端口

firewall-cmd --add-port=31306/tcp --permanent

重新载入

firewall-cmd --reload

再次检查

firewall-cmd --list-ports

CentOS7 安装MySQL 5.7 无网络

CentOS7 安装MySQL 5.7

root

这个人太懒什么东西都没留下

文章评论(0)