MySQL数据库一键安装脚本,适合任何版本

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: MySQL数据库一键安装脚本,适合任何版本

一、安装包和脚本准备:

下载所需的安装包上传至任务目录下,这里我以8.0.33版本为例,安装包大家自行去MySQL官网下载。

官网地址:https://dev.mysql.com/downloads/mysql/

  1. 链接: https://pan.baidu.com/s/10KFBi40h2oGURQTm9Z9IvQ
  2. 提取码: dgex

二、安装:

编辑好脚本,赋予脚本执行权限,然后source执行脚本。只需要输入自己所需要的版本号即可轻松完成数据库的安装。

  1. [root@localhost ~]#chmod +x mysql_install.sh
  2. [root@localhost ~]#source mysql_install.sh

三、脚本:

  1. #!/bin/bash
  2. echo "-----------------------------开始MYSQL安装--------------------------------------"
  3. start_time=$(date +%s)
  4. echo -e "\e[31m***************一键安装mysql任何版本数据库******************\e[0m"
  5. echo -e "输入安装版本,如\e[31m8.0.27\e[0m"
  6. read version
  7. find / -name mysql | xargs rm -rf
  8. port=$(netstat -antup|grep mysql|wc -l)
  9. if [ $port != 0 ]
  10. then echo "mysql进程存在,请先杀掉进程"
  11. ps -ef |grep mysqld
  12. exit 1
  13. fi
  14. echo "-----------------创建所需目录及用户并上传安装包----------------------------"
  15. # 获取当前所在目录位置
  16. current_dir=$(pwd)
  17. echo "当前所在目录位置: $current_dir"
  18. # 目标路径
  19. target_dir="/opt"
  20. # 检查目标路径是否存在,如果不存在则创建
  21. if [ ! -d "$target_dir" ]; then
  22.    mkdir -p "$target_dir"
  23.    echo "已创建目录: $target_dir"
  24. fi
  25. # 移动当前目录下的所有文件到目标路径
  26. mv $current_dir/* $target_dir
  27. echo "已将当前目录下所有文件移动至 $target_dir"
  28. mkdir -p  /data/mysql
  29. groupadd mysql
  30. useradd -r -g mysql mysql
  31. cd /opt/
  32. tar -xvf mysql-$version-linux-glibc2.12-x86_64.tar.xz
  33. mv mysql-$version-linux-glibc2.12-x86_64/  /usr/local/
  34. cd /usr/local/
  35. mv mysql-$version-linux-glibc2.12-x86_64/ mysql
  36. chown -R mysql.mysql /usr/local/mysql/
  37. echo "-----------------------------卸载原有的mysql组件--------------------------"
  38. yum list installed | grep mariadb
  39. yum -y remove mariadb*
  40. yum remove mariadb*
  41. chown mysql:mysql -R /data/mysql
  42. touch /etc/my.cnf
  43. chmod 644 /etc/my.cnf
  44. MYSQL_ROOT_PASSWORD=123456
  45. cat <<EOF >/etc/my.cnf
  46. [mysqld]
  47. user=mysql
  48. basedir=/usr/local/mysql
  49. datadir=/data/mysql
  50. socket=/tmp/mysql.sock
  51. log-error=/data/mysql/mysql.err
  52. pid-file=/data/mysql/mysql.pid
  53. server_id=1
  54. port=3306
  55. character-set-server=utf8
  56. innodb_rollback_on_timeout = ON
  57. character-set-server = utf8
  58. collation-server=utf8_general_ci
  59. sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
  60. lower_case_table_names=1
  61. max_connections=10000
  62. sync_binlog=1
  63. binlog_format=row
  64. log-bin=mysql-bin
  65. expire_logs_days=30
  66. [mysql]
  67. socket=/tmp/mysql.sock
  68. default-character-set=utf8
  69. [client]
  70. EOF
  71. echo "-----------------------------------初始化数据库-----------------------------------"
  72. cd /usr/local/mysql/bin
  73. ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
  74. cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
  75. path=$(grep 'MYSQL_HOME' /etc/profile|wc -l)
  76. if [ $path !=  0 ]
  77.  then
  78.    echo -e "\e[31m MYSQL_HOME路径存在\e[0m"
  79.  else
  80.    echo "export MYSQL_HOME=/usr/local/mysql/bin" >> /etc/profile
  81.    echo "export PATH=\$PATH:\$MYSQL_HOME"        >> /etc/profile
  82.    source /etc/profile
  83. fi
  84. echo "---------------------------------启动MYSQL服务---------------------------------------"
  85. service mysql start
  86. echo 'export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib'>>/etc/profile
  87. sleep 3
  88. source /etc/profile
  89. cat /data/mysql/mysql.err|grep password
  90. chkconfig --add mysql
  91. chkconfig mysql on
  92. chkconfig --list mysql
  93. echo "-----------------------------恭喜!MYSQL安装成功--------------------------------------"
  94. end_time=$(date +%s)
  95. execution_time=$((end_time - start_time))
  96. echo "脚本执行时间:${execution_time} 秒"
  97. MYSQL_OLDPASSWORD=`awk '/A temporary password/{print $NF}' /data/mysql/mysql.err`
  98. mysqladmin  -uroot -p${MYSQL_OLDPASSWORD} password ${MYSQL_ROOT_PASSWORD}
  99. mysql -uroot -p123456 -e "update mysql.user set host ='%' where user ='root';"
  100. mysql -uroot -p123456 -e "flush privileges;"
  101. mysql -uroot -p123456

说明:此脚本适用于mysql任何版本,如有问题,请大家随时联系我。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
3月前
|
Ubuntu 关系型数据库 MySQL
MySQL源码编译安装
本文详细介绍了MySQL 8.0及8.4版本的源码编译安装全过程,涵盖用户创建、依赖安装、cmake配置、编译优化等步骤,并提供支持多Linux发行版的一键安装脚本,适用于定制化数据库部署需求。
498 4
MySQL源码编译安装
|
3月前
|
Ubuntu 关系型数据库 MySQL
MySQL二进制包安装
本文详细介绍了在多种Linux系统上通过二进制包安装MySQL 8.0和8.4版本的完整过程,涵盖用户创建、glibc版本匹配、程序解压、环境变量配置、初始化数据库及服务启动等步骤,并提供支持多发行版的一键安装脚本,助力高效部署MySQL环境。
480 4
MySQL二进制包安装
|
3月前
|
安全 关系型数据库 MySQL
MySQL包安装 -- SUSE系列(离线RPM包安装MySQL)
本文详细介绍在openSUSE系统上通过离线RPM包安装MySQL 8.0和8.4版本的完整步骤,包括下载地址、RPM包解压、GPG密钥导入、使用rpm或zypper命令安装及服务启动验证,涵盖初始密码获取与安全修改方法,适用于无网络环境下的MySQL部署。
459 3
MySQL包安装 -- SUSE系列(离线RPM包安装MySQL)
|
3月前
|
关系型数据库 MySQL Linux
MySQL包安装 -- SUSE系列(SUSE资源库安装MySQL)
本文介绍了在openSUSE系统上通过SUSE资源库安装MySQL 8.0和8.4版本的完整步骤,包括配置国内镜像源、安装MySQL服务、启动并验证运行状态,以及修改初始密码等操作,适用于希望在SUSE系列系统中快速部署MySQL的用户。
295 3
MySQL包安装 -- SUSE系列(SUSE资源库安装MySQL)
|
3月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
585 5
|
3月前
|
Ubuntu 关系型数据库 MySQL
MySQL包安装 -- Debian系列(离线DEB包安装MySQL)
本文详细介绍了在Ubuntu 24.04、22.04、20.04及Debian 12系统上,通过离线DEB包安装MySQL 8.0和8.4版本的完整步骤。涵盖下载地址、依赖处理、dpkg安装顺序、配置方法及服务启动验证,确保用户可顺利部署MySQL数据库。
1492 0
MySQL包安装 -- Debian系列(离线DEB包安装MySQL)
|
3月前
|
运维 Ubuntu 关系型数据库
MySQL包安装 -- Debian系列(Apt资源库安装MySQL)
本文介绍了在Debian系列系统(如Ubuntu、Debian 11/12)中通过APT仓库安装MySQL 8.0和8.4版本的完整步骤,涵盖添加官方源、配置国内镜像、安装服务及初始化设置,并验证运行状态,适用于各类Linux运维场景。
1229 0
MySQL包安装 -- Debian系列(Apt资源库安装MySQL)
|
4月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
419 158
|
4月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
4月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
924 152

推荐镜像

更多