写点什么

Centos 系统安装 MySQL 数据库

作者:杨杰灵
  • 2022 年 8 月 05 日
  • 本文字数:2685 字

    阅读完需:约 9 分钟

Centos系统安装MySQL数据库

前言

可能有些人不太了解为什么要安装 MySQL,或者是为什么要有数据库。这个问题在我学习编程的时候,有同学问过我,还有一些不懂编程的人问自己数据库是什么的时候,我的回答是在网页上浏览数据的时候,如果要数据是动态实时变化的,这个时候就需要展示不断修改的数据,不断修改的数据如何被记录,那这个时候就需要数据库,顾名思义,数据库就是用来保存数据,网页通过程序将保存的数据进行展示,所以需要安装数据库来存储数据。数据库的产品有很多比如 DB2、Oracle、MySQL、PostgreSQL 等。


文章主要是介绍如何在 Centos7 操作系统中安装MySQL。MySQL 是一款免费开源的数据库(当然这是在它的所有权落入 Oracle 之前,MySQL 先是卖给了 SUM 公司,后来 SUN 被甲骨文收购,MySQL 就属于 Oracle 公司的产品了)。现在 MySQL 有两个不同的产品(或者说两个不同的分支吧)。一个是收费版MySQL,一个是免费版MariaDB。MariaDB 主要是由社区进行维护。虽然是两个不同的分支,但是在使用上没有什么区别,不管是 SQL 语法还是环境运维,几乎都是一样的,所以 MySQL 和 MariaDB 不会产生多余的学习成本。以下是关于 MySQL 和 MariaDB 的一些区别,就当了解一下即可:


  • MariaDB 由 MySQL 的创始人麦克尔·维德纽斯主导开发。

  • MariaDB 直到 5.5 版本,均依照 MySQL 的版本。因此,使用 MariaDB5.5 的人会从 MySQL5.5 中了解到 MariaDB 的所有功能。从 2012 年 11 月 12 日起发布的 10.0.0 版开始,不再依照 MySQL 的版号。10.0.x 版以 5.5 版为基础,加上移植自 MySQL 5.6 版的功能和自行开发的新功能

  • 在存储引擎方面,10.0.9 版起使用 XtraDB(名称代号为 Aria)来代替 MySQL 的 InnoDB

  • MariaDB 的 API 和协议兼容 MySQL,另外又添加了一些功能,以支持本地的非阻塞操作和进度报告

  • 这意味着,所有使用 MySQL 的连接器、程序库和应用程序也将可以在 MariaDB 下工作

环境说明

Centos7、JDK1.8、MySQL5.7.29

下载地址

https://dev.mysql.com/downloads/mysql/5.7.html#downloads



选择对应的环境下载即可。下载完成后我们可以通过 xftp 等工具将下载好的安装包上传到 Centos7 系统中,然后进行安装。

开始安装

删除历史版本

rpm -qa|grep mysqlrpm -e –nodeps filenamefind / -name mysqlrm -rf filename
复制代码

解压安装包

# 首先通过cd命令进入到安装包所在的目录,然后执行cd /opttar –zxvf mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz
复制代码

创建安装目录

mkdir /usr/local/mysql
复制代码

移动文件

移动解压后的文件夹到指定目录


mv mysql-5.7.29-linux-glibc2.12-x86_64 /usr/local/mysql
复制代码

创建数据文件夹

在移动后的目录下新建存储数据的文件夹 data,MySQL 的表结构、表数据及索引等信息都存储在该目录下


cd /usr/local/mysql
mkdir data
复制代码

添加账户

给当前 linux 系统添加账户,以后可用于管理 mysql 数据库


userdel mysql
groupdel mysql
groupadd mysql
useradd -g mysql mysql
复制代码

查看 MySQL 初始密码

进入 mysql 的目录开始安装,查看安装信息记住初密码:找有 temporary password 这一行


cd /usr/local/mysql
./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
复制代码


移动启动文件

将安装后的路径/usr/local/mysql/support-files/中的 mysql.server 复制到/etc/init.d/mysqld


cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
复制代码

MySQL 配置文件

如果/usr/local/mysql/support-files 有 my-default.cnf 则将其拷贝到/etc/my.cnf


cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
复制代码


如果没有则在/etc 下新建 my.cnf 文件


touch my.cnf
复制代码


编辑 my.cnf 配置文件


[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
skip-name-resolve
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
复制代码


修改文件权限


chown 777 /etc/my.cnf
chmod +x /etc/init.d/mysqld
复制代码

配置环境变量

设置环境变量,以便能在任意地方运行 mysql 命令登录数据库


vim /etc/profile
在文件的最后,加上下面两行:
#mysql environment
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin
复制代码

刷新环境变量

source /etc/profile
复制代码

添加软链接

ln -fs /usr/local/mysql/bin/mysql /usr/bin/mysql
复制代码


添加软链接和配置环境变量都是为了便于执行脚本,这样执行 MySQL 命令的时候不用到 MySQL 的安装目录,在路径执行都可以。添加软链接和配置环境变量任选一个操作即可,同时都进行配置也没问题

设置防火墙

防火墙开放 mysql 数据库端口 3306


# 光标一定到22端口行yy复制,p粘贴,i进入编辑模式将粘贴的端口由22修改为3306 vim /etc/sysconfig/iptables
复制代码


重启防火前


service iptables restart
复制代码


查看防火墙状态,检查是否已开放 3306 端口


service iptables status
复制代码


启动 MySQL

/etc/init.d/mysqld start
或者:
./support-files/mysql.server start
或者:
service mysqld start
复制代码

登录 MySQL

mysql -u root -p
然后输入第8步的初始密码
复制代码


看见一些数据库的相关信息,查询数据版本也可以通过登录这种方式哟,O(∩_∩)O 哈哈~


修改 root 的密码

set password = password('123456');
也可以指定用户:建议用上面的就行
set password for 'root'@'localhost'=password('123456');
复制代码


刷新配置


flush privileges;
复制代码

添加远程访问

添加远程访问本服务器的 MySQL 数据库权限问权限


grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
复制代码


刷新配置


flush privileges;
复制代码

重启 MySQL

/etc/init.d/mysqld restart
或者:
./support-files/mysql.server restart
或者:
service mysqld restart
复制代码

设置开机启动

检查自启动项列表中没有 mysqld 这个


chkconfig --list mysqld
复制代码



如果没有设置过,就添加


chkconfig --add mysqld
复制代码

命令连接 MySQL

在 Centos 中通过命令连接数据库后,需要执行 sql 文件


连接 MySQL


mysql -u root -p
复制代码


创建数据库


create database nacos_config;
复制代码


进入数据库


use nacos_config
复制代码


执行 SQL 文件


source /usr/local/nacos/conf/nacos-mysql.sql; # 文件的绝对路径
复制代码


以上就是在 Centos7 上安装 MySQL 的全过程,其中需要注意的是,MySQL 安装成功后一定要对防火墙进行设置(网络可以访问),并且开启访问权限(有资源操作权限),否则无法进行使用。在 MySQL 服务器本地执行 sql 文件的时候,先登录 MySQL,再通过磁盘的绝对路径执行 sql 文件。

用户头像

杨杰灵

关注

还未添加个人签名 2020.06.05 加入

还未添加个人简介

评论

发布
暂无评论
Centos系统安装MySQL数据库_MySQL 数据库_杨杰灵_InfoQ写作社区