CentOS7-Mysql-5.7.13安装

安装环境

服务器环境:CentOS Linux release 7.7.1908 (Core)

软件介绍

MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

  • MySQL 是开源的,所以你不需要支付额外的费用。
  • MySQL 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
  • MySQL 使用标准的 SQL 数据语言形式。
  • MySQL 可以运行于多个系统上,并且支持多种语言。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。
  • MySQL 对PHP有很好的支持,PHP 是目前最流行的 Web 开发语言。
  • MySQL 支持大型数据库,支持 5000 万条记录的数据仓库,32 位系统表文件最大可支持 4GB,64 位系统支持最大的表文件为8TB。
  • MySQL 是可以定制的,采用了 GPL 协议,你可以修改源码来开发自己的 MySQL 系统。

软件下载

Mysql下载地址

image1

找到对应的版本,进行下载

软件安装

注意

本文档讲解安装版本为mysql-5.7.13,对于5.7.24之后的版本,不适用此说明文档,主要原因在于之后版本的mysql配置文件的目录位置和结构有所改变,使用此说明可能会出现找不到配置文件或者配置后不生效的情况。
安装过程中务必保证文件路径的前后统一,否则可能会导致不可预期的结果,推荐直接使用文中的命令进行操作。

安装前准备

安装前,我们可以通过如下命令检测系统是否已安装 MySQL

rpm -qa | grep mysql

执行完命令之后若没有输出任何信息则说明当前环境没有安装mysql,可直接安装。


image2

反之,若系统已安装mysql则会输出已安装的mysql版本信息,如图所示:


image3

若发现安装的mysql版本与实际需求不匹配,则需要先卸载已安装的版本,卸载命令如下所示:
普通删除
rpm -e mysql-libs-5.1.52-1.el6_0.1.x86_64

强力删除,适用于删除过程中有文件被占用的情况
rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64

检查否存在 mariadb 数据库,如有就将其卸载

rpm -qa | grep mariadb
image4
rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64
image5

安装包上传

将下载好的安装包上传到服务器目录下,进入上传安装包的目录

cd /usr/local/installationPackage
image6

安装包解压

tar -zxvf mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz
image7

解压完成之后,可以在当前目录下看到一个名为【mysql-5.7.13-linux-glibc2.5-x86_64】的目录。
目录名字过长,可以进行修改

mv mysql-5.7.13-linux-glibc2.5-x86_64   mysql-5.7.13

我们需要将该目录下所有数据移动到我们需要安装的文件夹当中,比如usr/mysql目录下。
在usr目录下新建该mysql文件夹

mkdir /usr/mysql

将解压后的目录移动到创建的文件夹中

mv mysql-5.7.13 /usr/mysql

配置项修改

添加系统mysql组和mysql用户

检查mysql组和用户是否存在
cat /etc/group | grep mysql
若存在,则能查看到如下类似信息
mysql:x:490:

cat /etc/passwd | grep mysql
若存在,则能查看到如下类似信息
mysql:x:496:490::/home/mysql:/bin/bash

若不存在,则执行如下命令添加mysql组和mysql用户
groupadd mysql
useradd -r -g mysql mysql
useradd -r参数表示mysql用户是系统用户,不可用于登录系统
image8

安装并启动mysql

创建data目录

cd /usr/mysql/mysql-5.7.13
mkdir data

将/usr/mysql/mysql-5.7.13的所有者及所属组改为mysql

chown -R mysql.mysql /usr/mysql/mysql-5.7.13

在/usr/mysql/mysql-5.7.13/support-files目录下找到my-default.cnf 进行修改

[mysqld]
basedir=/usr/mysql/mysql-5.7.13
datadir=/usr/mysql/mysql-5.7.13/data
port=3306
socket=/tmp/mysql.sock
character-set-server=utf8
log-error=/usr/mysql/mysql-5.7.13/data/mysqld.log
pid-file=/usr/mysql/mysql-5.7.13/data/mysqld.pid
lower_case_table_names=1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=600
innodb_file_per_table=1
lower_case_table_names=1
image9
拷贝文件到/etc目录,如果提示是否覆盖,输入"y"
cp my-default.cnf /etc/my.cnf

初始化 mysqld
cd /usr/mysql/mysql-5.7.13/bin
./mysqld --initialize --user=mysql --basedir=/usr/mysql/mysql-5.7.13/ --datadir=/usr/mysql/mysql-5.7.13/data/ 

image10

注意:执行上面命令之后可能会出现以下错误
image11

出现该问题首先检查该链接库文件有没有安装使用 命令进行核查

rpm -qa|grep libaio  

运行命令后发现系统中无该链接库文件

yum install  libaio-devel.x86_64

安装成功后,继续运行数据库的初始化命令,此时可能会出现如下错误


image12

执行如下命令后

yum -y install numactl

执行无误之后,再重新执行初始化命令,无误之后再进行下一步操作!


image13

初始化完成之后,查看日志

vim /usr/mysql/mysql-5.7.13/data/mysqld.log
image14

临时密码

A temporary password is generated for root@localhost: :9gkl=AHod:i

:9gkl=AHod:i 就是数据库初始化临时密码

把启动脚本放到开机初始化目录

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

启动mysql服务
service mysql start

登录mysql,密码为初始化密码

cd /usr/mysql/mysql-5.7.13
./bin/mysql -u root -p

image15

修改密码
执行下列命令

mysql> set password=password('root');
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> grant all privileges on *.* to root@'%' identified by 'root';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

添加远程访问权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

刷新
FLUSH PRIVILEGES;

配置环境变量

vim /etc/profile

export MYSQL_HOME=/opt/mysql/mysql-5.7.13
export PATH=$PATH:$MYSQL_HOME/bin
image16

添加自启动服务

chkconfig --add mysql
chkconfig mysql on

安装完成

其它

你可能感兴趣的:(CentOS7-Mysql-5.7.13安装)