MySQL的几种安装方式及配置问题小结

发布时间 - 2026-01-11 02:19:33    点击率:

1、MySQL rpm包安装

# 下载安装源
[root@localhost src]# wget https://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
# 安装源
[root@localhost src]# rpm -ivh mysql-community-release-el7-5.noarch.rpm

2、MySQL yum工具安装

[root@localhost /]# yum install -y mysql-community-server
# 查看安装后的文件路径
[root@localhost /]# which mysql mysqld_safe mysqlbinlog mysqldump
/usr/bin/mysql
/usr/bin/mysqld_safe
/usr/bin/mysqlbinlog
/usr/bin/mysqldump

如需查看每个安装包包含的详细文件列表,可以使用“rpm -ql 软件名”查看,该命令列出了当前rpm包的文件列表及安装位置。如下:

[root@localhost /]# rpm -ql openssl
/etc/pki/tls/misc/c_hash
/etc/pki/tls/misc/c_info
/etc/pki/tls/misc/c_issuer
/etc/pki/tls/misc/c_name
/usr/bin/openssl
/usr/share/doc/openssl-1.0.1e
/usr/share/doc/openssl-1.0.1e/CHANGES
.......

3、MySQL 源码安装

# 安装编译所需的软件包
[root@localhost src]# yum install -y make gcc-c++ cmake bison-devel ncurses-devel gcc autoconf automake zlib* fiex* libxml*
# 下载源码
[root@localhost src]# wget https://cdn.mysql.com//archives/mysql-5.6/mysql-5.6.24.tar.gz
# 解压源码包
[root@localhost src]# tar xvf mysql-5.6.24.tar.gz
[root@localhost src]# cd mysql-5.6.24
# 进行编译配置,这个过程将耗时3~5分钟
[root@localhost mysql-5.6.24]# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
# 编译并且安装
# 编译过程大约需要30~50分钟
[root@localhost mysql-5.6.24]# make
[root@localhost mysql-5.6.24]# make install
# 设置MySQL用户和组
[root@localhost mysql-5.6.24]# groupadd mysql
[root@localhost mysql-5.6.24]# useradd -r -g mysql mysql
[root@localhost mysql-5.6.24]# cd /usr/local/mysql/
# 设置权限以便mysql能修改文件
[root@localhost mysql]# chown -R mysql:mysql ./
[root@localhost mysql]# chown -R mysql:mysql /data/mysql/data
# 初始化数据库
# 需要注意的是此处设置的数据目录应该与之前的MYSQL_DATADIR指定的目录相同
[root@localhost mysql]# scripts/mysql_install_db --user=mysql -ldata=/data/mysql/data
# 恢复权限设置,并修改相应目录的权限以便mysql修改
[root@localhost mysql]# chown -R root ./
[root@localhost mysql]# chown -R mysql data

上述示例表示将MySQL软件安装到/usr/local/mysql目录下,本示例中使用的参数及其含义如下:

DCMAKE_INSTALL_PREFIX:表示将MySQL安装到何处,此例中将安装到/usr/local/mysql目录中;

DMYSQL_DATADIR:表示MySQL的数据文件存放目录; DSYSCONFDIR:配置文件所在目录;

DWITH_MYISAM_STORAGE_ENGINE:将MyISAM存储引擎编译到服务中;

DWITH_INNOBASE_STORAGE_ENGINE:将InnoDB存储引擎编译到服务中; DMYSQL_UNIX_ADDR:

DMYSQL_TCP_PORT:默认使用的端口; DENABLED_LOCAL_INFILE:指定是否允许本地执行LOAD DATA

INFILE; DWITH_PARTITION_STORAGE_ENGINE:将分区引擎编译到服务中;

DEXTRA_CHARSETS:让服务支持所有扩展字符集; DDEFAULT_CHARSET:服务使用的默认字符集,此处设置为

UTF8; DDEFAULT_COLLATION:默认的排序规则。

编译安装MySQL时有许多参数,这些参数的详细含义和说明可以在官方网站中查找:http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html

安装的依赖包的作用:

gcc/g++:MySQL 5.6开始,需要使用g++进行编译; cmake:MySQL 5.5开始,使用cmake进行工程管理,cmake需要2.8以上版本; bison:MySQL语法解析器需要使用bison进行编译; ncurses-devel:用于终端操作的开发包; zlib:MySQL使用zlib进行压缩; libxml:用于XML输入输出方式的支持; openssl:使用openssl安全套接字方式通信;

dtrace:用于诊断MySQL问题。

完成上述安装步骤还不够,还需要为MySQL添加配置选项、启动停止脚本等。

cd /usr/local/mysql/
#去掉配置文件中的注释行仅显示有效行
grep -v "^#" my.cnf
#将启动脚本放到/etc/init.d目录中
cp support-files/mysql.server /etc/init.d/mysqld
#将mysql添加为系统服务
chkconfig --add mysqld
service mysqld start
#此时MySQL的root用户还没有密码,应该为其设置密码
/usr/local/mysql/bin/mysql -u root -h 192.168.146.150 -p
#由于还没有设置密码因此直接按下Enter键即可
#设置root用户的密码为888888
set password = password('888888');
#设置完成后输入quit退出
quit

附:安装过程中的问题总结

1、-bash:mysql:command not found

因为mysql命令的路径在/usr/local/mysql/bin下面,所以你直接使用mysql命令时, 系统在/usr/bin下面查此命令,所以找不到了。

解决办法:使用如下命令做个链接即可

ln -s /usr/local/mysql/bin/mysql /usr/bin

2、Starting MySQL..The server quit without updating PID file ([FAILED]/mysql/Server03.mylinux.com.pid).

解决办法:

修改/etc/my.cnf 中datadir,指向正确的mysql数据库文件目录

3、ERROR 2002 (HY000): Can't connect to local MySQL server through socket ‘/tmp/mysql.sock' (2)

解决办法:

新建一个链接或在mysql中加入-S参数,直接指出mysql.sock位置。

ln -s /usr/local/mysql/data/mysql.sock /tmp/mysql.sock
/usr/local/mysql/bin/mysql -u root -S /usr/local/mysql/data/mysql.sock

以上所述是小编给大家介绍的MySQL的几种安装方式及配置问题小结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# mysql  # 安装方式  # 配置  # MySQL 5.7.18 免安装版配置教程  # mysql5.7.17安装配置图文教程  # mysql 5.7.18 winx64安装配置方法图文教程  # mysql 5.7.18 winx64 免安装 配置方法  # win7下mysql5.7.17安装配置方法图文教程  # MySQL5.6.31 winx64.zip 安装配置教程详解  # 解决办法  # 还没有  # 文件列表  # 小编  # 配置文件  # 的是  # 出了  # 在此  # 找不到  # 目录中  # 所需  # 软件包  # 给大家  # 做个  # 几种  # 为其  # 可以使用  # 按下  # 如需  # 还不够 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  如何用PHP工具快速搭建高效网站?  Laravel如何为API生成Swagger或OpenAPI文档  Laravel如何实现文件上传和存储?(本地与S3配置)  如何在局域网内绑定自建网站域名?  大型企业网站制作流程,做网站需要注册公司吗?  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  QQ浏览器网页版登录入口 个人中心在线进入  智能起名网站制作软件有哪些,制作logo的软件?  Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  javascript中的try catch异常捕获机制用法分析  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  Python图片处理进阶教程_Pillow滤镜与图像增强  浅谈Javascript中的Label语句  什么是JavaScript解构赋值_解构赋值有哪些实用技巧  Bootstrap整体框架之CSS12栅格系统  Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】  Laravel如何使用Blade组件和插槽?(Component代码示例)  HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】  用yum安装MySQLdb模块的步骤方法  Laravel如何从数据库删除数据_Laravel destroy和delete方法区别  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  打开php文件提示内存不足_怎么调整php内存限制【解决方案】  佛山网站制作系统,佛山企业变更地址网上办理步骤?  企业网站制作这些问题要关注  Laravel API资源类怎么用_Laravel API Resource数据转换  如何快速搭建高效WAP手机网站?  重庆市网站制作公司,重庆招聘网站哪个好?  JavaScript如何实现错误处理_try...catch如何捕获异常?  Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】  UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  微信小程序 scroll-view组件实现列表页实例代码  如何在Tomcat中配置并部署网站项目?  Laravel如何实现API速率限制?(Rate Limiting教程)  教你用AI将一段旋律扩展成一首完整的曲子  高端智能建站公司优选:品牌定制与SEO优化一站式服务  Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】