Linux使用yum安装mysql的方式

 更新时间:2025年06月07日 09:57:16   作者:岳来  
这篇文章主要介绍了Linux使用yum安装mysql的方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

一、安装前准备

1、检查是否已经安装过mysql,执行命令
rpm -qa | grep mysql
如果已存在,则执行删除命令 后边为Mysql目录
rpm -e --nodeps mysql-xxxx

2、查询所有Mysql对应的文件夹
whereis mysqlm
find / -name mysql

删除相关目录或文件
rm -rf /usr/bin/mysql /usr/include/mysql /data/mysql /data/mysql/mysql 

验证是否删除完毕
whereis mysqlm
find / -name mysql

3、检查mysql用户组和用户是否存在,如果没有,则创建
cat /etc/group | grep mysql
cat /etc/passwd |grep mysql
groupadd mysql
useradd -r -g mysql mysql

二、yum安装

1、yum install mysql

2、yum install mysql-server   #报错如下
Last metadata expiration check: 0:25:55 ago on Mon 21 Feb 2022 10:27:14 AM CST.
No match for argument: mysql-server
Error: Unable to find a match: mysql-server

#原因:CentOS7自带有MariaDB而不是MySQL,MariaDB和MySQL一样也是开元的数据库
#解决办法:如果必须要安装MySQL,首先必须添加mysql社区repo,执行命令:
sudo rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

Retrieving http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql-community-release-el7-5    ################################# [100%]
   
# 执行完后,则继续执行:
yum install mysql-server 

3、yum install mysql-devel

4、yum install -y mariadb-server

三、启动

1、
mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)


修改 /etc/my.cnf
#添加
[client]
port=3306
socket=/var/lib/mysql/mysql.sock

user=mysql

2、
#service mysqld start# 运行卡住
Redirecting to /bin/systemctl start mysqld.service
^C   

service mysqld status
systemctl status mysqld.service
● mysqld.service - MySQL Community Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: activating (start-post) since Mon 2022-02-21 14:05:51 CST; 6min ago
  Process: 63686 ExecStart=/usr/bin/mysqld_safe --basedir=/usr (code=exited, status=0/SUCCESS)
  Process: 63671 ExecStartPre=/usr/bin/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
 Main PID: 63686 (code=exited, status=0/SUCCESS);         : 63687 (mysql-systemd-s)
    Tasks: 2
   Memory: 17.6M
   CGroup: /system.slice/mysqld.service
           └─control
             ├─63687 /bin/bash /usr/bin/mysql-systemd-start post
             └─69856 sleep 1

Feb 21 14:05:51 xxx systemd[1]: Starting MySQL Community Server...
Feb 21 14:05:51 xxx mysqld_safe[63686]: 220221 14:05:51 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
Feb 21 14:05:51 xxx mysqld_safe[63686]: 220221 14:05:51 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

2.1、
# 查看/var/log/mariadb/mariadb.log

2022-02-21 14:34:29 92642 [Note] Plugin 'FEDERATED' is disabled.
/usr/sbin/mysqld: Table 'mysql.plugin' doesn't exist
2022-02-21 14:34:29 92642 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.

#解决办法:
/usr/bin/mysql_install_db --user=mysql

Installing MySQL system tables...2022-02-21 14:38:39 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2022-02-21 14:38:39 0 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap.
2022-02-21 14:38:39 0 [Note] /usr/sbin/mysqld (mysqld 5.6.51) starting as process 96247 ...
2022-02-21 14:38:39 96247 [Note] InnoDB: Using atomics to ref count buffer pool pages
2022-02-21 14:38:39 96247 [Note] InnoDB: The InnoDB memory heap is disabled
2022-02-21 14:38:39 96247 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2022-02-21 14:38:39 96247 [Note] InnoDB: Memory barrier is not used
2022-02-21 14:38:39 96247 [Note] InnoDB: Compressed tables use zlib 1.2.11
2022-02-21 14:38:39 96247 [Note] InnoDB: Using Linux native AIO
2022-02-21 14:38:39 96247 [Note] InnoDB: Using CPU crc32 instructions
2022-02-21 14:38:39 96247 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2022-02-21 14:38:39 96247 [Note] InnoDB: Completed initialization of buffer pool
2022-02-21 14:38:39 96247 [Note] InnoDB: Highest supported file format is Barracuda.
2022-02-21 14:38:39 96247 [Note] InnoDB: 128 rollback segment(s) are active.
2022-02-21 14:38:39 96247 [Note] InnoDB: Waiting for purge to start
2022-02-21 14:38:39 96247 [Note] InnoDB: 5.6.51 started; log sequence number 1600627
2022-02-21 14:38:39 96247 [Note] RSA private key file not found: /var/lib/mysql//private_key.pem. Some authentication plugins will not work.
2022-02-21 14:38:39 96247 [Note] RSA public key file not found: /var/lib/mysql//public_key.pem. Some authentication plugins will not work.
2022-02-21 14:38:39 96247 [Note] Binlog end
2022-02-21 14:38:39 96247 [Note] InnoDB: FTS optimize thread exiting.
2022-02-21 14:38:39 96247 [Note] InnoDB: Starting shutdown...
2022-02-21 14:38:41 96247 [Note] InnoDB: Shutdown completed; log sequence number 1626007
OK

Filling help tables...2022-02-21 14:38:41 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2022-02-21 14:38:41 0 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap.
2022-02-21 14:38:41 0 [Note] /usr/sbin/mysqld (mysqld 5.6.51) starting as process 96282 ...
2022-02-21 14:38:41 96282 [Note] InnoDB: Using atomics to ref count buffer pool pages
2022-02-21 14:38:41 96282 [Note] InnoDB: The InnoDB memory heap is disabled
2022-02-21 14:38:41 96282 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2022-02-21 14:38:41 96282 [Note] InnoDB: Memory barrier is not used
2022-02-21 14:38:41 96282 [Note] InnoDB: Compressed tables use zlib 1.2.11
2022-02-21 14:38:41 96282 [Note] InnoDB: Using Linux native AIO
2022-02-21 14:38:41 96282 [Note] InnoDB: Using CPU crc32 instructions
2022-02-21 14:38:41 96282 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2022-02-21 14:38:41 96282 [Note] InnoDB: Completed initialization of buffer pool
2022-02-21 14:38:41 96282 [Note] InnoDB: Highest supported file format is Barracuda.
2022-02-21 14:38:41 96282 [Note] InnoDB: 128 rollback segment(s) are active.
2022-02-21 14:38:41 96282 [Note] InnoDB: Waiting for purge to start
2022-02-21 14:38:41 96282 [Note] InnoDB: 5.6.51 started; log sequence number 1626007
2022-02-21 14:38:41 96282 [Note] RSA private key file not found: /var/lib/mysql//private_key.pem. Some authentication plugins will not work.
2022-02-21 14:38:41 96282 [Note] RSA public key file not found: /var/lib/mysql//public_key.pem. Some authentication plugins will not work.
2022-02-21 14:38:41 96282 [Note] Binlog end
2022-02-21 14:38:41 96282 [Note] InnoDB: FTS optimize thread exiting.
2022-02-21 14:38:41 96282 [Note] InnoDB: Starting shutdown...
2022-02-21 14:38:43 96282 [Note] InnoDB: Shutdown completed; log sequence number 1626017
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

  /usr/bin/mysqladmin -u root password 'new-password'
  /usr/bin/mysqladmin -u root -h docker-ce011162004053.nt12 password 'new-password'

Alternatively you can run:

  /usr/bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:

  cd /usr ; /usr/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl

  cd mysql-test ; perl mysql-test-run.pl

Please report any problems at http://bugs.mysql.com/

The latest information about MySQL is available on the web at

  http://www.mysql.com

Support MySQL by buying support/licenses at http://shop.mysql.com

New default config file was created as /usr/my.cnf and
will be used by default by the server when you start it.
You may edit this file to change server settings

WARNING: Default config file /etc/my.cnf exists on the system
This file will be read by default by the MySQL server
If you do not want to use this, either remove it, or use the
--defaults-file argument to mysqld_safe when starting the server

2.2、
#mariadb.log中另一个报错
Can't start server: can't check PID filepath: No such file or directory
220221 14:34:30 mysqld_safe mysqld from pid file /var/run/mariadb/mariadb.pid ended

解决办法:
mkdir -p /var/run/mariadb/
chown -R mysql:mysql /var/run/mariadb/


service mysql start  # 正常
Redirecting to /bin/systemctl start mysql.service

service mysql status  # 正常
Redirecting to /bin/systemctl status mysql.service
● mysqld.service - MySQL Community Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2022-02-21 14:54:13 CST; 31min ago
  Process: 112292 ExecStartPost=/usr/bin/mysql-systemd-start post (code=exited, status=0/SUCCESS)
  Process: 112276 ExecStartPre=/usr/bin/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
 Main PID: 112291 (mysqld_safe)
    Tasks: 23
   Memory: 119.3M
   CGroup: /system.slice/mysqld.service
           ├─112291 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
           └─112457 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock

Feb 21 14:54:12 xxx systemd[1]: Starting MySQL Community Server...
Feb 21 14:54:12 xxx mysqld_safe[112291]: 220221 14:54:12 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
Feb 21 14:54:12 xxx mysqld_safe[112291]: 220221 14:54:12 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

mysql  # 正常进入
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.51 MySQL Community Server (GPL)

Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

3、
mysqladmin -u root password   #设置密码

四、另一种方法安装

4.1、安装mysql

yum -y install mariadb  mariadb-devel  mariadb-server

4.2、启动mysql 服务

systemctl start mariadb.service

4.3、设置密码

#mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 5
Server version: 5.5.68-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [mysql]> select host,user from mysql.user;
+-----------------------------+------+
| host                        | user |
+-----------------------------+------+
| 127.0.0.1                   | root |
| ::1                         | root |
| xxx                  |      |
| xxx                         | root |
| localhost                   |      |
| localhost                   | root |
+-----------------------------+------+
6 rows in set (0.00 sec)

MariaDB [mysql]> select user();
+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+

MariaDB [mysql]> UPDATE user SET password=PASSWORD('xxxxx') WHERE user='root';
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4  Changed: 4  Warnings: 0

MariaDB [mysql]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

MariaDB [mysql]> exit;
Bye

[root@docker-ce011166091186.na131 /home/gyy01167504]
#mysql -uroot -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 6
Server version: 5.5.68-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 在Linux开发板中使用.NET实现音频录制与播放功能

    在Linux开发板中使用.NET实现音频录制与播放功能

    本文将以Linux开发板为基础,使用ALSA音频框架和C#语言,演示如何实现基础的音频录制与播放功能,文中通过代码示例讲解的非常详细,需要的朋友可以参考下
    2025-03-03
  • Centos7配置阿里云yum源及epel源过程

    Centos7配置阿里云yum源及epel源过程

    文章主要介绍了Yum软件包管理器的基础知识,以及如何配置阿里云的yum源和epel源,包括备份原有配置文件、下载阿里云配置文件并重建缓存等步骤
    2026-04-04
  • Linux上虚拟机显示网络不可用的解决方法

    Linux上虚拟机显示网络不可用的解决方法

    这篇文章主要介绍了Linux上虚拟机显示网络不可用的解决方法,文中通过图文结合的方式讲解的非常详细,对大家解决问题有一定的帮助,需要的朋友可以参考下
    2024-12-12
  • Linux使用pt-slave-restart监控多个从库的Shell脚本案例

    Linux使用pt-slave-restart监控多个从库的Shell脚本案例

    本文介绍了如何编写并使用一个基于pt-slave-restart的Shell脚本,实现对多个MySQL从库复制状态的灵活监控,支持多种配置方式、参数覆盖、错误处理及守护进程等功能,便于高效管理数据库复制,需要的朋友可以参考下
    2025-10-10
  • CentOS6.6安装CloudStack4.8

    CentOS6.6安装CloudStack4.8

    CloudStack是一个开源的具有高可用性及扩展性的云计算平台。接下来通过本文给大家介绍CentOS6.6安装CloudStack4.8的方法,感兴趣的朋友一起看看吧
    2016-10-10
  • CentOS 7.2配置Apache服务httpd(上)

    CentOS 7.2配置Apache服务httpd(上)

    这篇文章主要为大家详细介绍了CentOS 7.2配置Apache服务 httpd上篇,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • Windows7下Linux双操作系统安装图文教程

    Windows7下Linux双操作系统安装图文教程

    这篇文章主要为大家详细介绍了Windows7下Linux双操作系统安装图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • 详解Linux中关于引号的那些事

    详解Linux中关于引号的那些事

    这篇文章主要给大家介绍了关于Linux中关于引号的那些事,文中详细介绍了关于引号、单引号和双引号、引用单个字符以及反斜杠的其他使用技巧等的相关内容,介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06
  • Linux(CentOS)​​同步服务器chrony的安装配置和常用命令

    Linux(CentOS)​​同步服务器chrony的安装配置和常用命令

    Chrony是一款开源的网络时间协议(NTP)客户端和服务端软件,旨在提供高精度的时间同步功能,相较于传统的NTP实现如ntpd,Chrony提供了一些改进和优势,包括更快的同步速度、低延迟、低CPU占用和低内存消耗,本文介绍Linux(CentOS)​​同步服务器chrony的安装配置和常用命令
    2024-06-06
  • Linux删除文件名包含无效编码字符文件的方法

    Linux删除文件名包含无效编码字符文件的方法

    本文介绍了在Linux中处理文件名包含无效编码字符或特殊不可见字符的方法,包括确认文件名问题、删除无效编码文件的几种方法,如通过inode编号、通配符匹配等,需要的朋友可以参考下
    2026-01-01

最新评论