linux环境下搭建MySQL
linux下搭建mysql的方式很多,网上也详解了很多种搭建方式,有直接yum的、有rpm的、、总之,“坑”是层出不穷,有相关文件依赖性、权限、GPG keys等等。
本人也在今天搭建了一下、是出“坑”了,所以来记录下。
--------------------------------------------------------------------------------
本次的搭建方式是使用rpm的方式进行搭建。
相关rpm包下载地址:https://pan.baidu.com/s/1ADAJ0p48_3fiOtijSd9QUQ 密码:z1zm(版本5.7)
第一步:将该包上传至服务器,进行解压:
tar -xvf mysql-5.7.16-1.el6.x86_64.rpm-bundle.tar
解压之后会出现若干rpm文件:
mysql-community-client-5.7.16-1.el6.x86_64.rpm
mysql-community-common-5.7.16-1.el6.x86_64.rpm
mysql-community-devel-5.7.16-1.el6.x86_64.rpm
mysql-community-embedded-5.7.16-1.el6.x86_64.rpm
mysql-community-embedded-devel-5.7.16-1.el6.x86_64.rpm
mysql-community-libs-5.7.16-1.el6.x86_64.rpm
mysql-community-libs-compat-5.7.16-1.el6.x86_64.rpm
mysql-community-server-5.7.16-1.el6.x86_64.rpm
mysql-community-test-5.7.16-1.el6.x86_64.rpm
第二步:使用rpm -ivh xxxxx命令进行安装(切记:顺序要保证同步、各个文件安装之间存在依赖性)
1、rpm -ivh mysql-community-common-5.7.16-1.el6.x86_64.rpm、出现如下内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | warning: mysql-community-common- 5.7 . 16 - 1 .el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY Preparing... ########################################### [ 100 %] file /usr/share/mysql/czech/errmsg.sys from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/danish/errmsg.sys from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/dutch/errmsg.sys from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/english/errmsg.sys from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/estonian/errmsg.sys from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/french/errmsg.sys from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/german/errmsg.sys from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/greek/errmsg.sys from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/hungarian/errmsg.sys from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/italian/errmsg.sys from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/japanese/errmsg.sys from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/korean/errmsg.sys from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/norwegian-ny/errmsg.sys from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/norwegian/errmsg.sys from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/polish/errmsg.sys from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/portuguese/errmsg.sys from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/romanian/errmsg.sys from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/russian/errmsg.sys from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/serbian/errmsg.sys from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/slovak/errmsg.sys from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/spanish/errmsg.sys from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/swedish/errmsg.sys from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/ukrainian/errmsg.sys from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/charsets/Index.xml from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/charsets/armscii8.xml from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/charsets/ascii.xml from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/charsets/cp1250.xml from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/charsets/cp1256.xml from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/charsets/cp1257.xml from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/charsets/cp850.xml from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/charsets/cp852.xml from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/charsets/cp866.xml from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/charsets/dec8.xml from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/charsets/geostd8.xml from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/charsets/greek.xml from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/charsets/hebrew.xml from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/charsets/hp8.xml from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/charsets/keybcs2.xml from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/charsets/koi8r.xml from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/charsets/koi8u.xml from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/charsets/latin1.xml from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/charsets/latin2.xml from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/charsets/latin5.xml from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/charsets/latin7.xml from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/charsets/macce.xml from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/charsets/macroman.xml from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 file /usr/share/mysql/charsets/swe7.xml from install of mysql-community-common- 5.7 . 16 - 1 .el6.x86_64 conflicts with file from package mysql-libs- 5.1 . 73 - 5 .el6_6.x86_64 |
ok,第一行是有点端倪出来了,不过第一步安装算是完成。、
2、rpm -ivh mysql-community-libs-*.rpm
这一步、我就遇到坑了,先看下报错原因。
1 2 3 | warning: mysql-community-libs- 5.7 . 16 - 1 .el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY error: Failed dependencies: mysql-community-common(x86- 64 ) >= 5.7 . 9 is needed by mysql-community-libs- 5.7 . 16 - 1 .el6.x86_64 |
警告行说的报错原因很明显:由于yum安装了旧版本的GPG keys造成的
还有文件依赖性的原因。(都是同一个版本因此确定版本不会错,只能是前者)
解决方案:命令后边加上 --force --nodeps 看下成功日志。
1 2 3 4 | Preparing... ########################################### [ 100 %] 1 :mysql-community-libs ########################################### [ 50 %] 2 :mysql-community-libs-co########################################### [ 100 %] You have mail in /var/spool/mail/root |
3、rpm -ivh mysql-community-client-5.7.16-1.el6.x86_64.rpm
1 2 3 4 5 6 | Preparing... ########################################### [ 100 %] 1 :mysql-community-client ########################################### [ 100 %] [root @localhost mysql]# rpm -ivh mysql-community-server- 5.7 . 16 - 1 .el6.x86_64.rpm warning: mysql-community-server- 5.7 . 16 - 1 .el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY error: Failed dependencies: mysql-community-common(x86- 64 ) = 5.7 . 16 - 1 .el6 is needed by mysql-community-server- 5.7 . 16 - 1 .el6.x86_64 |
4、rpm -ivh mysql-community-server-5.7.16-1.el6.x86_64.rpm(这一步、也发生了第二步的原因,加上 --force --nodeps 即可,具体报错原因具体对待)
1 2 | Preparing... ########################################### [ 100 %] 1 :mysql-community-server ^[^A###### ( 15 ########################################### [ 100 %] |
ok、到这一步,就完成linux下mysql的安装了(rpm方式)。
启动mysql服务:
service mysqld start
查询随机初始root密码:
cat /var/log/mysqld.log | grep "temporary password"
登录即可:
mysql -uroot -p
1 2 3 4 5 6 7 8 9 10 11 12 13 | Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.7 . 16 Copyright (c) 2000 , 2016 , 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. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> |
环境坑、安装坑、包坑、各种坑,踩到了才是学到了。
作者:紫陌花间客
欢迎任何形式的转载,但请务必注明出处。
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】