Linux下安装MySQL
- 其他
- 2025-08-18 07:24:02

1.MySQL简介
网上有很多,您简单看看即可。
2.MySQL安装由于我的MySQL主要是用在Linux的,所以这里只简单介绍一下云服务器下使用XShell操作CentOS 7的MySQL安装。
2.1.切换用户一般涉及到启动系统服务的操作都需要使用root权限,因此您最好提前切换到root账户。
2.2.检查环境使用ps ajx | grep mysql或mariadb检查是否存在mysql或mariadb(会显示一串目录),有就无需看后续的安装了。
但是如果您想体验一下下载MySQL的流程,请使用systemctl stop mysql或mariadb.service指令停止mysql或mariadb服务。然后使用rpm -qa | grep mysql检查mysql或mariadb的安装包,使用rpm -qa | grep mysql或mariadb | xargs yum remove卸载这些关于mysql的安装包,此时您的系统就卸载了MySQL或mariadb了。
补充:MariaDB是一个开源的关系型数据库管理系统(RDBMS),它是MySQL的一个分支,由MySQL的创始人之一Michael Widenius(又称Monty)创建。MariaDB基于MySQL的代码,并且在GPL许可证下发布,使得它可以免费使用和分发。 MariaDB旨在提供高性能、可扩展性、稳定性和安全性。
MariaDB和MySQL拥有类似的命令和语法,而且它们非常相似,但是MariaDB包含了一些新的功能,例如更好的性能、更好的安全性、更好的可扩展性和更丰富的功能。MariaDB中还包含一些MySQL没有的特性,例如虚拟列、动态列、回收站等功能。此外,MariaDB也支持多个存储引擎,例如InnoDB、MyISAM、XtraDB等。
MariaDB还提供了与MySQL兼容的API和命令行工具,使得用户可以很容易地将其现有的MySQL数据库迁移到MariaDB上。对于使用MySQL的应用程序或网站,转换到MariaDB也非常简单。
2.3.更新yum源在MySQL官方链接上查找适合自己的MySQL yum源版本(否则有可能出现兼容问题)。
[FILE] mysql80-community-release-el7-..> 18-Apr-2018 05:24 25k [FILE] mysql80-community-release-el7-..> 23-Aug-2023 17:38 11k [FILE] mysql80-community-release-el7-..> 18-Jan-2019 06:02 25k [FILE] mysql80-community-release-el7-..> 24-Apr-2019 18:29 25k [FILE] mysql80-community-release-el7-..> 04-Nov-2021 10:25 7k [FILE] mysql80-community-release-el7-..> 14-Jan-2022 10:21 11k [FILE] mysql80-community-release-el7-..> 24-Apr-2022 13:02 11k [FILE] mysql80-community-release-el7-..> 26-Aug-2022 18:56 11k [FILE] mysql80-community-release-el7-..> 25-Jul-2023 18:43 11k [FILE] mysql80-community-release-el7-..> 25-Jul-2023 18:41 11k [FILE] mysql80-community-release-el7.rpm 23-Aug-2023 17:38 11k或者右键该网页界面,然后“查看网页源代码”,可以显示较多的信息
<IMG SRC="/icons/generic.gif" ALT="[FILE]"> <A HREF="mysql57-community-release-el5-7.noarch.rpm">mysql57-community-release-el5-..></A> 12-Nov-2015 07:58 8k <IMG SRC="/icons/generic.gif" ALT="[FILE]"> <A HREF="mysql57-community-release-el5-8.noarch.rpm">mysql57-community-release-el5-..></A> 07-Apr-2017 07:28 24k <IMG SRC="/icons/generic.gif" ALT="[FILE]"> <A HREF="mysql57-community-release-el5.rpm">mysql57-community-release-el5.rpm</A> 07-Apr-2017 07:28 24k <IMG SRC="/icons/generic.gif" ALT="[FILE]"> <A HREF="mysql57-community-release-el6-10.noarch.rpm">mysql57-community-release-el6-..></A> 07-Apr-2017 07:28 25k <IMG SRC="/icons/generic.gif" ALT="[FILE]"> <A HREF="mysql57-community-release-el6-11.noarch.rpm">mysql57-community-release-el6-..></A> 27-Apr-2017 10:45 25k <IMG SRC="/icons/generic.gif" ALT="[FILE]"> <A HREF="mysql57-community-release-el6-7.noarch.rpm">mysql57-community-release-el6-..></A> 12-Nov-2015 07:58 9k <IMG SRC="/icons/generic.gif" ALT="[FILE]"> <A HREF="mysql57-community-release-el6-8.noarch.rpm">mysql57-community-release-el6-..></A> 11-Apr-2016 09:13 9k <IMG SRC="/icons/generic.gif" ALT="[FILE]"> <A HREF="mysql57-community-release-el6-9.noarch.rpm">mysql57-community-release-el6-..></A> 12-Sep-2016 13:05 9k <IMG SRC="/icons/generic.gif" ALT="[FILE]"> <A HREF="mysql57-community-release-el6.rpm">mysql57-community-release-el6.rpm</A> 27-Apr-2017 10:45 25k <IMG SRC="/icons/generic.gif" ALT="[FILE]"> <A HREF="mysql57-community-release-el7-10.noarch.rpm">mysql57-community-release-el7-..></A> 07-Apr-2017 07:28 25k <IMG SRC="/icons/generic.gif" ALT="[FILE]"> <A HREF="mysql57-community-release-el7-11.noarch.rpm">mysql57-community-release-el7-..></A> 27-Apr-2017 10:45 25k <IMG SRC="/icons/generic.gif" ALT="[FILE]"> <A HREF="mysql57-community-release-el7-7.noarch.rpm">mysql57-community-release-el7-..></A> 12-Nov-2015 07:58 9k <IMG SRC="/icons/generic.gif" ALT="[FILE]"> <A HREF="mysql57-community-release-el7-8.noarch.rpm">mysql57-community-release-el7-..></A> 11-Apr-2016 09:13 9k <IMG SRC="/icons/generic.gif" ALT="[FILE]"> <A HREF="mysql57-community-release-el7-9.noarch.rpm">mysql57-community-release-el7-..></A> 12-Sep-2016 13:05 9k <IMG SRC="/icons/generic.gif" ALT="[FILE]"> <A HREF="mysql57-community-release-el7.rpm">mysql57-community-release-el7.rpm</A> 27-Apr-2017 10:45 25k这里我根据我的系统版本选择了mysql57-community-release-el7-9.noarch.rpm(点击即可下载),这里的57是MySQL yum源的版本(这个版本用的人较多),el指CentOS,而7-9就是指CentOS 7-9版本(如果您使用的是CentOS 7系统但是没有找到对应的版本,就下载mysql57-community-release-el7.rpm即可)。然后得到一个MySQL的.rpm后缀的文件。
[root@VM-8-9-centos ljp]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core)新建一个MySQL目录,如果您之前下载的安装包在Windows下,就使用rz指令将其上传到XShell下的CentOS 7系统内刚刚新建的MySQL目录里。
# mkdir MySQL # cd MySQL # rz # ls mysql57-community-release-el7-9.noarch.rpm接下来使用rpm -ivh mysql57-community-release-el7-9.noarch.rpm 更新yum源(可以使用ls /etc/yum.repos.d/ -l来查看前后是否有变化)。
# ls /etc/yum.repos.d/ -l total 52 -rw-r--r-- 1 root root 614 Jul 15 18:28 CentOS-Base.repo -rw-r--r-- 1 root root 1309 Nov 23 2020 CentOS-CR.repo -rw-r--r-- 1 root root 649 Nov 23 2020 CentOS-Debuginfo.repo -rw-r--r-- 1 root root 230 Jul 15 18:28 CentOS-Epel.repo -rw-r--r-- 1 root root 314 Nov 23 2020 CentOS-fasttrack.repo -rw-r--r-- 1 root root 630 Nov 23 2020 CentOS-Media.repo -rw-r--r-- 1 root root 1331 Nov 23 2020 CentOS-Sources.repo -rw-r--r-- 1 root root 8515 Nov 23 2020 CentOS-Vault.repo -rw-r--r-- 1 root root 616 Nov 23 2020 CentOS-x86_64-kernel.repo -rw-r--r-- 1 root root 1358 Sep 5 2021 epel.repo -rw-r--r-- 1 root root 1457 Sep 5 2021 epel-testing.repo # rpm -ivh mysql57-community-release-el7-9.noarch.rpm warning: mysql57-community-release-el7-9.noarch.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY Preparing... ################################# [100%] Updating / installing... 1:mysql57-community-release-el7-9 ################################# [100%] # ls /etc/yum.repos.d/ -l total 60 -rw-r--r-- 1 root root 614 Jul 15 18:28 CentOS-Base.repo -rw-r--r-- 1 root root 1309 Nov 23 2020 CentOS-CR.repo -rw-r--r-- 1 root root 649 Nov 23 2020 CentOS-Debuginfo.repo -rw-r--r-- 1 root root 230 Jul 15 18:28 CentOS-Epel.repo -rw-r--r-- 1 root root 314 Nov 23 2020 CentOS-fasttrack.repo -rw-r--r-- 1 root root 630 Nov 23 2020 CentOS-Media.repo -rw-r--r-- 1 root root 1331 Nov 23 2020 CentOS-Sources.repo -rw-r--r-- 1 root root 8515 Nov 23 2020 CentOS-Vault.repo -rw-r--r-- 1 root root 616 Nov 23 2020 CentOS-x86_64-kernel.repo -rw-r--r-- 1 root root 1358 Sep 5 2021 epel.repo -rw-r--r-- 1 root root 1457 Sep 5 2021 epel-testing.repo -rw-r--r-- 1 root root 1416 Sep 12 2016 mysql-community.repo #支持直接安装MySQL -rw-r--r-- 1 root root 1440 Sep 12 2016 mysql-community-source.repo #支持安装相关的资源使用yum list | grep mysql检查是否已经更新,如果弹出很多的MySQL相关资源文件,那就更新yum源成功,而之前下载的mysql57-community-release-el7-9.noarch.rpm就可以删除了(当然也可以选择不删除,主要是留着也没太多用处)。
2.4.安装MySQL使用yum install -y mysql-community-server一键安装MySQL即可。
2.5.安装问题如果出现以下问题:
Failing package is: mysql-community-common-5.7.43-1.el7.x86_64 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql那就是密钥过期的问题,可以使用下面命令来更新密钥:
rpm --import repo.mysql /RPM-GPG-KEY-mysql-2022然后重新使用yum install -y mysql-community-server即可。
2.6.检查安装在etc下会多一个my f文件,且使用which mysql mysqld可以打印出结果。
# which mysql mysqld /usr/bin/mysql #这个是MySQL的客户端 /usr/sbin/mysqld #这个是MySQL的服务端 3.MySQL启动使用systemctl start mysqld启动MySQL的服务端,使用ps可以查看是否启动成功:
# systemctl start mysqld # ps ajx | grep mysqld 1 8880 8879 8879 ? -1 Sl 27 0:00 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid 10652 9013 9012 5510 pts/0 9012 S+ 0 0:00 grep --color=auto mysqld此时可以使用netstat -nltp来查看端口号(后面会讲)
4.MySQL登录 4.1.登录方法一使用sudo grep 'temporary password' /var/log/mysqld.log获取临时root密码,较老的版本可以使用,新版本可能不行。然后使用mysql -u root -p输入临时密码即可,注意输入密码的时候不会回显。
4.2.登录方法二直接使用mysql -u root -p登录。
4.3.登录方法三使用vim /etc/my f打开MySQL的配置文件,然后在文件的最后添加上skip-grant-tables选项,保存退出(该做法就是设置为“跳过密码验证”)。
使用systemctl restart mysqld重启MySQL服务,然后使用mysql -u root -p即可直接登录MySQL(可能还会显示输入密码,但是这次直接回车就可以)。
# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.7.43 Copyright (c) 2000, 2023, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> 5.MySQL配置 5.1.配置编码问题打开/etc/my f修改内容如下:
# For advice on how to change settings please see # http://dev.mysql /doc/refman/5.7/en/server-configuration-defaults.html [mysqld] # # Remove leading # and set to the amount of RAM for the most important data # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. # innodb_buffer_pool_size = 128M # # Remove leading # to turn on a very important data integrity option: logging # changes to the binary log between backups. # log_bin # # Remove leading # to set options mainly useful for reporting servers. # The server defaults are faster for transactions and fast SELECTs. # Adjust sizes as needed, experiment to find the optimal values. # join_buffer_size = 128M # sort_buffer_size = 2M # read_rnd_buffer_size = 2M # ---My configuration_1--- # port=3306 # 可以不改,改了端口可能会出现一些问题,先使用默认的即可 # ------------------------ datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid # ---My configuration_2--- character-set-server=utf8 default-storage-engine=innodb # ------------------------然后使用systemctl restart mysqld重启MySQL服务即可。
5.2.配置开机启动使用systemctl enable mysqld和systemctl daemon-reload即可。但是有一说一,云服务器一般不需要关机,几乎用不到这个功能。
Linux下安装MySQL由讯客互联其他栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Linux下安装MySQL”
上一篇
Midjourney生成油画技巧
下一篇
纯csshtml真实水滴效果