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)]> 

总结

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

相关文章

  • centos8 使用yum 安装 rabbitmq的教程

    centos8 使用yum 安装 rabbitmq的教程

    这篇文章主要介绍了centos8 yum 安装 rabbitmq的教程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • Linux如何修改固定ip地址(亲测有效)

    Linux如何修改固定ip地址(亲测有效)

    这篇文章主要介绍了Linux如何修改固定ip地址问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • apache 二级域名解析实现方法

    apache 二级域名解析实现方法

    首先,你的拥有一个有泛域名解析的顶级域名,例如: domain.com其次,在 httpd.conf 中打开 mod_rewrite之后,在 httpd.conf 的最后,添加以下内容
    2009-11-11
  • CentOS6.5环境安装nginx服务器及负载均衡配置操作详解

    CentOS6.5环境安装nginx服务器及负载均衡配置操作详解

    这篇文章主要介绍了CentOS6.5环境安装nginx服务器及负载均衡配置操作,结合实例形式较为详细的分析了CentOS6.5环境安装nginx服务器及负载均衡配置具体步骤、命令与相关问题解决方法,需要的朋友可以参考下
    2018-04-04
  • Xshell实现Windows上传文件到Linux主机的方法

    Xshell实现Windows上传文件到Linux主机的方法

    这篇文章主要介绍了Xshell实现Windows上传文件到Linux主机的方法,需要的朋友可以参考下
    2017-12-12
  • Linux下简易进度条的实现代码

    Linux下简易进度条的实现代码

    下面小编就为大家带来一篇Linux下简易进度条的实现代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • Linux使用systemd安排定期任务的操作详解

    Linux使用systemd安排定期任务的操作详解

    systemd 是一个系统和服务管理器,它是现代 Linux 系统中重要的组件之一,主要负责系统的启动和管理,定期任务是指按照预定的时间表反复执行的任务,本文将给大家介绍Linux使用systemd安排定期任务的操作,需要的朋友可以参考下
    2024-06-06
  • Linux下Apache安装/增加mod_rewrite模块的方法

    Linux下Apache安装/增加mod_rewrite模块的方法

    如果你的apache已经安装好了,现在只想编译出mod_rewrite.so模块,在apache中进行加载,下面我们就介绍这个方法。
    2011-04-04
  • Linux之CentOS7下如何配置iptables

    Linux之CentOS7下如何配置iptables

    这篇文章主要介绍了Linux之CentOS7下如何配置iptables问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • Linux如何杀死指定端口的进程

    Linux如何杀死指定端口的进程

    这篇文章主要介绍了Linux如何杀死指定端口的进程问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04

最新评论