> 文章列表 > Linux操作系统安装MySQL(rpm安装)

Linux操作系统安装MySQL(rpm安装)

Linux操作系统安装MySQL(rpm安装)

Linux操作系统安装MySQL(rpm安装)

  • 1 背景
  • 2 环境说明
  • 3 准备工作
    • 3.1 端口查看
    • 3.2 检查安装
    • 3.3 创建MySQL用户和组
  • 4 MySQL安装
    • 4.1 下载MySQL
    • 4.2 解压安装包
    • 4.3 安装MySQL
    • 4.4 初始化MySQL
    • 4.5 启动MySQL
    • 4.6 设置MySQL初始密码
      • 4.6.1 查看数据库初始密码
      • 4.6.2 更数据库密码
      • 4.6.3 设置数据库编码
    • 4.7 登录数据库

1 背景

MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

2 环境说明

软件项目 版本 备注
操作系统 CentOS Linux release 7.6.1810 (Core) 服务器操作系统
MySQL MySQL Community Server 5.7.39 数据库软件

3 准备工作

3.1 端口查看

安装之前查看端口,mysql默认使用的3306端口,如果3306端口已经占用启动过程中可能会报错,针对端口占用情况,可以停止占用端口的服务或者将mysql改用其他端口启动,停用和更改端口方法不再本文介绍。参考《Centos7防火墙设置》
查看端口

netstat -nltp | grep 3306

开具端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent

3.2 检查安装

查看是否已安装mysql或者mariadb,如果安装卸载

rpm -qa| grep mysql
rpm -qa| grep mariadb
mariadb-libs-5.5.68-1.el7.x86_64

Red Hat Enterprise/CentOS/Fedora/Debian 发行版默认会安装 MariaDB,MariaDB和MySQL数据库不兼容,如果需要安装MySQL数据库需要卸载MariaDB数据库。
卸载已安装得数据库

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

3.3 创建MySQL用户和组

groupadd mysql
useradd -r -g mysql mysql

4 MySQL安装

linux 系统安装MySQL数据库,有四种方式其中分别为:

  • rpm安装:简单方便,不易出错
  • 源码安装:繁琐,服务性能好,定制性高
  • yun安装:简单便捷,易于安装,设置yum源,便于安装
  • docker安装:快速、方便,有一定门槛,需要熟悉安装docker,参考《docker环境下部署mysql》
    其中源码安装、yum安装和docker安装依赖互联网接入,rpm可以离线安装,本篇以rpm安装为例进行安装

4.1 下载MySQL

官网下载mysql
Linux操作系统安装MySQL(rpm安装)
在线下载

cd /tmp
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.39-1.el7.x86_64.rpm-bundle.tar

4.2 解压安装包

解压下载的安装包

tar -xvf mysql-5.7.40-1.el7.x86_64.rpm-bundle.tar

4.3 安装MySQL

注意安装顺序,安装顺应异常可能会出现依赖关系报错

rpm -ivh mysql-community-common-5.7.40-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.40-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.40-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.40-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.40-1.el7.x86_64.rpm

4.4 初始化MySQL

使用mysql用户初始化MySQL数据库

mysqld --initialize --user=mysql

4.5 启动MySQL

启动MySQL服务

systemctl start mysqld.service

查看MySQL服务

systemctl status mysqld.service

4.6 设置MySQL初始密码

4.6.1 查看数据库初始密码

grep "password" /var/log/mysqld.log
2023-02-22T16:35:45.656262Z 1 [Note] A temporary password is generated for root@localhost: s%gkpu3yU7wY

4.6.2 更数据库密码

1、登录账号

mysql -u root -p s%gkpu3yU7wY

2、重置密码

mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY 'toor';

3、设置远程登录权限

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'toor' WITH GRANT OPTION;mysql>FLUSH PRIVILEGES;

4.6.3 设置数据库编码

服务器上新装的MySQL默认编码格式对中文支持不太友好,导致无法正常显示中文,因此需要重设默认编码。
1、查看数据库编码
登录数据库查看编码

mysql> status;
--------------
mysql  Ver 14.14 Distrib 5.7.39, for Linux (x86_64) using  EditLine wrapperConnection id:		2
Current database:	
Current user:		root@localhost
SSL:				Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		5.7.40
Protocol version:	10
Connection:			Localhost via UNIX socket
Server characterset:latin1
Db     characterset:latin1
Client characterset:utf8
Conn.  characterset:utf8
UNIX socket:		/var/lib/mysql/mysql.sock
Uptime:				5 min 5 secThreads: 1  Questions: 8  Slow queries: 0  Opens: 113  Flush tables: 1  Open tables: 106  Queries per second avg: 0.026
--------------

2、修改编码

vi /etc/my.cnf

[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

3、重启数据库

systemctl restart mysqld.service

4、验证编码

mysql> status;
--------------
mysql  Ver 14.14 Distrib 5.7.39, for Linux (x86_64) using  EditLine wrapperConnection id:		2
Current database:	
Current user:		root@localhost
SSL:				Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		5.7.40
Protocol version:	10
Connection:			Localhost via UNIX socket
Server characterset:utf8
Db     characterset:utf8
Client characterset:utf8
Conn.  characterset:utf8
UNIX socket:		/var/lib/mysql/mysql.sock
Uptime:				5 min 5 secThreads: 1  Questions: 8  Slow queries: 0  Opens: 113  Flush tables: 1  Open tables: 106  Queries per second avg: 0.026
--------------

4.7 登录数据库

1、命令行登录数据库

mysql -u root -p

2、第三方工具登录

Linux操作系统安装MySQL(rpm安装)
登录后截图
Linux操作系统安装MySQL(rpm安装)