在开始安装 MySQL 之前,有几个重要的前提需要明确:

说明:
root 用户操作。一旦安装完成,普通用户也可以正常使用 MySQL。root 用户操作,以便尽快熟悉 MySQL 的基本语句。待后续学习了用户管理相关内容后,再考虑创建普通用户。在安装 MySQL 之前,需要先检查系统中是否已经存在 MariaDB 或旧版本的 MySQL,如果有,需要先将其卸载,避免端口冲突。
[JL@VM-0-3-centos ~]$~]$ ps ajx |grep mariadb # 先检查是否有mariadb存在13134 14844 14843 13134 pts/0 14843 S+ 1005 0:00 grep --color=auto mariadb19010 19187 19010 19010 ? -1 Sl 27 16:55 /usr/libexec/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
[JL@VM-0-3-centos ~]$ systemctl stop mariadb.service # 停止mariadb服务==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===Authentication is required to manage system services or units.Authenticating as: rootPassword: ==== AUTHENTICATION COMPLETE ===[JL@VM-0-3-centos ~]$ ps axj |grep mariadb # 停止完成13134 14976 14975 13134 pts/0 14975 S+ 1005 0:00 grep --color=auto mariadb
#[JL@VM-0-3-centos ~]$ rpm -qa | grep mysqlsql# 下面是打印出来的mysql的样例[root@bite-alicloud mysql]# rpm -qa | grep mysqlmysql-community-common-5.7.41-1.el7.x86_64mysql-community-server-5.7.41-1.el7.x86_64mysql57-community-release-el7-11.noarchmysql-community-client-5.7.41-1.el7.x86_64mysql-community-libs-5.7.41-1.el7.x86_64
# 卸载显示出来的mariadb/mysql安[JL@VM-0-3-centos ~]$ sudo yum remove mariadbadb # 试着将上面的包一个一个卸载备份/etc/my.cnf,备份/var/lib/mysql数据# 批量删除系统自带的mysql安装包rpm -qa | grep mysql | xargs yum -y remove
官方源地址: http://repo.mysql.com/
注意事项:
cat /etc/redhat-release# 查看系统版本[root@VM-0-2-centos ~]# cat /etc/redhat-release CentOS Linux release 7.8.2003 (Core)
# 安装前查看本地yum源[JM@VM-0-3-centos 9.9]$ lsmysql57-community-release-el7-10.noarch.rpm[JL@VM-0-3-centos 9.9]$ ls /etc/yum.repos.d/ -altotal 88drwxr-xr-x. 2 root root 4096 Apr 9 15:43 .drwxr-xr-x. 106 root root 12288 Apr 12 10:50 ..-rw-r--r-- 1 root root 2523 Dec 26 19:31 Centos-Base.repo-rw-r--r-- 1 root root 614 Nov 10 18:42 CentOS-Base.repo_bak-rw-r--r-- 1 root root 2523 Jun 16 2018 CentOS-Base.repo.bak-rw-r--r-- 1 root root 1309 Apr 8 2020 CentOS-CR.repo-rw-r--r-- 1 root root 649 Apr 8 2020 CentOS-Debuginfo.repo-rw-r--r-- 1 root root 230 Nov 10 18:42 CentOS-Epel.repo-rw-r--r-- 1 root root 314 Apr 8 2020 CentOS-fasttrack.repo-rw-r--r-- 1 root root 630 Apr 8 2020 CentOS-Media.repo-rw-r--r-- 1 root root 998 Dec 11 2018 CentOS-SCLo-scl.repo-rw-r--r-- 1 root root 971 Oct 29 2018 CentOS-SCLo-scl-rh.repo-rw-r--r-- 1 root root 1331 Apr 8 2020 CentOS-Sources.repo-rw-r--r-- 1 root root 7577 Apr 8 2020 CentOS-Vault.repo-rw-r--r-- 1 root root 616 Apr 8 2020 CentOS-x86_64-kernel.repo-rw-r--r-- 1 root root 1919 Apr 8 23:57 docker-ce.repo-rw-r--r-- 1 root root 1050 Nov 1 04:33 epel.repo-rw-r--r-- 1 root root 1149 Nov 1 04:33 epel-testing.repo-rw-r--r-- 1 root root 173 Dec 9 16:08 google-chrome.repo# 安装MySQL [JL@VM-0-3-centos 9.9]$ rpm -Uvh mysql57-community-release-el7-10.noarch.rpmh.rpm warning: mysql57-community-release-el7-10.noarch.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEYerror: can't create transaction lock on /var/lib/rpm/.rpm.lock (Permission denied)# 如果上面出错了,使用[JL@VM-0-3-centos 9.9]$ sudo rpm -Uvh mysql57-community-release-el7-10.noarch.rpmh.[sudo] password for JL: whb: warning: mysql57-community-release-el7-10.noarch.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEYPreparing... ################################# [100%]Updating / installing... 1:mysql57-community-release-el7-10 ################################# [100%]# 安装后查看,多了mysql相关的yum源[JL@VM-0-3-centos 9.9]$ ls /etc/yum.repos.d/ -altotal 96drwxr-xr-x. 2 root root 4096 Apr 12 11:04 .drwxr-xr-x. 106 root root 12288 Apr 12 10:50 ..-rw-r--r-- 1 root root 2523 Dec 26 19:31 Centos-Base.repo-rw-r--r-- 1 root root 614 Nov 10 18:42 CentOS-Base.repo_bak-rw-r--r-- 1 root root 2523 Jun 16 2018 CentOS-Base.repo.bak-rw-r--r-- 1 root root 1309 Apr 8 2020 CentOS-CR.repo-rw-r--r-- 1 root root 649 Apr 8 2020 CentOS-Debuginfo.repo-rw-r--r-- 1 root root 230 Nov 10 18:42 CentOS-Epel.repo-rw-r--r-- 1 root root 314 Apr 8 2020 CentOS-fasttrack.repo-rw-r--r-- 1 root root 630 Apr 8 2020 CentOS-Media.repo-rw-r--r-- 1 root root 998 Dec 11 2018 CentOS-SCLo-scl.repo-rw-r--r-- 1 root root 971 Oct 29 2018 CentOS-SCLo-scl-rh.repo-rw-r--r-- 1 root root 1331 Apr 8 2020 CentOS-Sources.repo-rw-r--r-- 1 root root 7577 Apr 8 2020 CentOS-Vault.repo-rw-r--r-- 1 root root 616 Apr 8 2020 CentOS-x86_64-kernel.repo-rw-r--r-- 1 root root 1919 Apr 8 23:57 docker-ce.repo-rw-r--r-- 1 root root 1050 Nov 1 04:33 epel.repo-rw-r--r-- 1 root root 1149 Nov 1 04:33 epel-testing.repo-rw-r--r-- 1 root root 173 Dec 9 16:08 google-chrome.repo-rw-r--r-- 1 root root 1627 Apr 5 2017 mysql-community.repo # 安装了mysql yum源-rw-r--r-- 1 root root 1663 Apr 5 2017 mysql-community-source.repo
[JL@VM-0-3-centos 9.9]$9.9]$ yum list |grep mysqlRepository epel is listed more than once in the configurationmysql57-community-release.noarch el7-10 installedakonadi-mysql.x86_64 1.9.2-4.el7 base anope-mysql.x86_64 2.0.9-3.el7 epel apr-util-mysql.x86_64 1.5.2-6.el7 base calligra-kexi-driver-mysql.x86_64 2.9.10-2.el7 epel collectd-mysql.x86_64 5.8.1-1.el7 epel dmlite-plugins-mysql.x86_64 1.14.2-1.el7 epel dovecot-mysql.x86_64 1:2.2.36-8.el7 base
[JL@VM-0-3-centos 9.9]$ sudo yum install -y mysql-community-server[spassword for JL: whb: Loaded plugins: aliases, auto-update-debuginfo, fastestmirror, protectbaseRepository epel is listed more than once in the configuration... Installing : mysql-community-common-5.7.33-1.el7.x86_64 # 公共模块 Installing : mysql-community-libs-5.7.33-1.el7.x86_64 # 库 Installing : mysql-community-client-5.7.33-1.el7.x86_64 # 客户端 Installing : mysql-community-server-5.7.33-1.el7.x86_64 # 服务器... # 安装了服务和客户端
注意: 如果安装过程中报错了,请参考本文最后的【常见问题及解答】章节。
[JL@VM-0-3-centos 9.9]$ ls /etc/my.cnf/etc/my.cnf[JL@VM-0-3-centos 9.9]$ sudo ls /var/lib/mysql....
/etc/my.cnf/var/lib/mysql`[JL@VM-0-3-centos 9.9]$s 9.9]$ systemctl start mysqld.service==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===Authentication is required to manage system services or units.Authenticating as: rootPassword: ==== AUTHENTICATION COMPLETE ===
[JL@VM-0-3-centos 9.9]$ ps axj |grep mysqld 1 23183 23182 23182 ? -1 Sl 27 0:00 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid13134 23243 23242 13134 pts/0 23242 S+ 1005 0:00 grep --color=auto mysqld
# 获取临时密码[JL@VM-0-3-centos 9.9]$ sudo grep 'temporary password' /var/log/mysqld.logsqld.log 2021-04-12T03:23:46.153263Z 1 [Note] A temporary password is generated for root@localhost: yLMalT:v+5l*# 密码不回显,正常输入即可[JL@VM-0-3-centos 9.9]$ mysql -uroot -puroot -pEnter password: # 判断修改密码时候新密码是否符合当前的策略,不满足报错,不让修改,关闭它# 安全强度,默认为中,即1,要求必须包含 数字、符号、大小写字母,长度至少为8位mysql> set global validate_password_policy=0;Query OK, 0 rows affected (0.00 sec)# 密码最小长度mysql> set global validate_password_length=1;Query OK, 0 rows affected (0.00 sec)# 修改本地登录密码,暂不授权远程登录mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '[email protected]';Query OK, 0 rows affected (0.00 sec)mysql> FLUSH PRIVILEGES;Query OK, 0 rows affected (0.00 sec)
# 如果你安装的最新的mysql,没有所谓的临时密码,root默认没有密码# 试着直接连接cli[JL@VM-0-3-centos 9.9]$os 9.9]$ mysql -uroot -pEnter password: (直接回车)
[root@bite-alicloud mysql]# vim /etc/my.cnf # 打开mysql配置文件# 在[mysqld]最后加一行配置: skip-grant-tables 选项, 并保存退出[root@bite-alicloud mysql]# systemctl restart mysqld # 重启mysql服务# 登陆成功[root@bite-alicloud mysql]# mysql -urootWelcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 2Server version: 5.7.41 MySQL Community Server (GPL)Copyright (c) 2000, 2023, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.mysql>
提示: 使用命令 mysql -uroot -p 启动 mysql,使用 quit 退出数据库。
# 开启开机自启动systemctl enable mysqldsystemctl daemon-reload
#配置⼀下my.conf,主要是数据库客⼾端和服务器的编码格式[JL@VM-0-3-centos 9.9]$entos 9.9]$ cat /etc/my.cnf# For advice on how to change settings please see# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html[mysql]#default-character-set=utf8 ,暂不设置,mysql有bug,汉字不回显[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 = 2Mport=3306datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sock# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0log-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid# 添加以下配置character-set-server=utf8default-storage-engine=innodb
# 修改完mysql配置之后需要重启一下mysqldsystemctl restart mysqld# 使用netstat -nltp命令可以查看配置信息netstat -nltp# 使用quit命令退出m# 使用mysql -uJL -p 登录mysql -p 登录mysqlmysql -uroot -p
原因: 终端环境变量问题。
解决方案: 确保在终端命令行中可以输入中文。
[JL@VM-0-3-centos ~]$ env |grep LANGLANG=en_US
错误信息:
Failing package is: mysql-community-client-5.7.39-1.el7.x86_64 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
解决方案: 导入最新的 MySQL GPG 密钥。
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
本文详细记录了在 CentOS 7 环境下完整安装 MySQL 5.7 的全过程,从环境清理、YUM 源配置、服务安装、启动登录到配置文件优化,每一步都配有完整的命令和输出示例。掌握这套流程,不仅能在实际工作中快速部署 MySQL 环境。
解答:
可以通过以下几种方式验证:
ps axj | grep mysqldmysql --versionmysql -uroot -psystemctl status mysqld解答:
MySQL 的默认配置文件是 /etc/my.cnf。主要配置项包括:
port:MySQL 服务端口号,默认为 3306datadir:数据存储目录,默认为 /var/lib/mysqlsocket:Socket 文件路径character-set-server:服务器字符集编码default-storage-engine:默认存储引擎,推荐 InnoDBlog-error:错误日志文件路径pid-file:进程 ID 文件路径e`:进程 ID 文件路径解答:
-- 1. 使用临时密码登录后修改ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';-- 2. 如果忘记密码,可以通过跳过权限表的方式重置-- 在 /etc/my.cnf 的 [mysqld] 下添加 skip-grant-tables-- 重启 MySQL 后无需密码登录-- 执行以下 SQL 修改密码UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root';FLUSH PRIVILEGES;-- 最后删除 skip-grant-tables 配置并重启 MySQL解答:
YUM(Yellowdog Updater Modified)是 Linux 系统上的包管理工具,YUM 源就是软件包的仓库地址。配置 YUM 源后,系统可以从指定的仓库自动下载并安装软件包,同时自动解决依赖关系。
安装 MySQL 需要先配置官方 YUM 源的原因:
解答:
GPG 密钥用于验证软件包的完整性和来源可信度。当密钥过期时,可以通过以下命令导入最新的密钥:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
这条命令会从 MySQL 官方仓库下载并导入最新的 GPG 密钥,之后就可以正常安装或更新 MySQL 了。
以上就是MySQL在CentOS 7环境下的完整安装与配置指南的详细内容,更多关于MySQL在CentOS 7下安装与配置的资料请关注本站其它相关文章!
您可能感兴趣的文章:樱花动漫APP下载-樱花动漫官方正版APP最新下载入口
premiere画中画大小位置调节方法 - premiere如何调节画中画大小和位置
丁香修剪技巧有哪些-如何用丁香修剪技巧打造优美树形
在Win2008 R2中如何删除DHCP管理工具-Win2008 R2怎样删除DHCP管理工具
如何通过支付宝阿宝自动匹配生活服务入口-怎样借助支付宝阿宝自动匹配生活服务入口
edius素材添加单门推效果的操作方法-edius素材如何添加单门推效果