【教程】linux 安装 mysql 数据库

本文详细介绍了如何从MySQL官网下载社区版,进行环境检查、卸载现有MySQL、解压安装包、创建组和用户、设置数据目录、配置文件、初始化数据库、开机自启动服务、远程登录权限等内容,旨在帮助读者完成MySQL服务器的完整安装过程。
摘要由CSDN通过智能技术生成

本次教程是以mysql社区版为例,MySQL Community Server

1、下载 mysql 安装包

登录 mysql官网 

选择下载社区版

进入之后找到 Select Operating System

选择 Linux-Generic【通用】

解释:这个tar.gz包是带有glibc的,这里的安装教程使用的就是这个

上传下载好的包到服务器上就不说了,直接上安装。

2、检查服务器上的环境

先执行一下命令,查看系统是否自带 MySQL 和 MariaDB

rpm -qa | grep mysql  和 rpm -qa | grep mariadb

-a:查询所有套件;
-q:使用询问模式,当遇到任何问题时,rpm指令会先询问用户;

有则卸载,这里发现有 MariaDB , 则执行一下命令进行卸载

rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64

-e<套件档>或--erase<套件档>:删除指定的套件;
--nodeps就是安装时不检查依赖关系,比如你这个rpm需要A,但是你没装A,这样你的包就装不上,用了--nodeps你就能装上了

3、解压安装包

tar -zxvf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz -C /usr/local/mysql

-z 压缩文件(可选)
-x 解压文件(可选)
-v 显示解压详细过程
-f <压缩文件名>(必选) f要求后面必须紧跟着压缩的文件名,一般放在参数的最后面
-C 解压到哪个目录下(目录需要提前创建好)

以上我们解压到 /usr/local/mysql 目录下

查看解压后的目录

4、创建mysql组和用户

执行一下命令查看 mysql 组和用户是否存在,不存在则执行命令进行创建

cat /etc/group | grep mysql

创建:
groupadd mysql
useradd -r -g mysql mysql

-r 表示mysql用户是系统用户,不可用于登录系统

这里说明一下,不然可能与上面的目录不一样了,我这里把解压后的目录重命名了一下,因为原先的目录名太长了,如果也想要重命名一下可以使用命令 mv

mv mysql-5.7.28-linux-glibc2.12-x86_64 mysql.5.7.28_01

5、创建数据库存储目录

这里我们就将存储目录创建在mysql安装目录下的data中

mkdir data

执行以下命令,将安装目录下的所有者及所属组改为mysql

chown -R mysql.mysql ./

命令格式:chown[选项]...[所有者][:[组]]文件...
chown 将指定文件的拥有者改为指定的用户或组
-R 处理指定目录以及其子目录下的所有文件

6、设置配置文件

进入support-files目录,编辑 my_default.cnf 文件

[mysqld]
#设置mysql的安装目录
basedir=/usr/local/mysql/mysql-5.7.28_01

#设置mysql数据库的数据存放目录
datadir=/usr/local/mysql/mysql-5.7.28_01/data
#设置端口
port=3306
socket=/tmp/mysql.sock
#设置字符集
character-set-server=utf8
#日志存放目录
log-error=/usr/local/mysql/mysql-5.7.28_01/data/mysqld.log
pid-file=/usr/local/mysql/mysql-5.7.28_01/data/mysqld.pid
#允许时间类型的数据为零(去掉NO_ZERO_IN_DATE,NO_ZERO_DATE)
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

如果 cd 进入目录后发现并没有 my_default.cnf 文件

执行一下命令创建 my_default.cnf 文件再进行编辑

touch my_default.cnf

编辑完之后执行一下命令进行拷贝,并修改名称为 my.cnf

cp my_default.cnf /etc/my.cnf

6、初始化

完成上述操作后,接着返回上一层目录,并执行初始化命令进行初始化MySQL

cd ../

./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/mysql-5.7.28_01 --datadir=/usr/local/mysql/mysql-5.7.28_01/data

如果在执行初始化MySQL的时候发现报错,就将下载好的libaio的rpm上传到服务器上,执行以下命令

rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm

-i: install 安装指定的软件
-v: 显示安装的详细过程
-h: 列出软件安装是的标记

  没有报错则跳过这一步

然后我们再执行初始化MySQL的命令

这次就初始化成功了。

初始化完成后进入data目录

   查看mysqld.log日志文件。

红框框中是临时密码,先记着,后面需要用到。

7、开机自启动服务(不需要则跳过这一步)

执行以下命令,将启动脚本放在开机初始化目录中,就可以开机自动自动mysql服务了

cp support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on

# 查看mysql服务的状态
systemctl status mysql

8、登录mysql

执行以下命令进入MySQL,密码是上面第6点中红框框的临时密码

./bin/mysql -uroot -p

进入后执行以下MySQL的命令,修改密码和开启mysql的远程登录权限

-- 这里默认改的是root的,密码为root
-- set password = password(新密码);
set password=password('root');

-- 默认情况下mysql为安全起见,不支持远程登录mysql,所以需要设置开启,并且刷新权限缓存。
grant all privileges on *.* to root@'%' identified by 'root';
flush privileges;

9、设置远程访问权限

use mysql;
update user set host='%' where user = 'root';

-- root表示想要被连接的数据库的用户名
-- 其中“%”表示允许所有机器能访问root用户

如果报错,执行以下命令查询是否已更改

select user,host from user;

可以看到已更改

然后再刷新权限缓存,并退出重启mysql服务

flush privileges;

-- 退出mysql
exit;

10、相关命令

# 启动命令
service mysql start

# 停止命令
service mysql stop

# 重启命令
service mysql restart

最后,希望本次教程能对你有所帮助,多多支持!

  • 43
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值