2. centos上面安装 Mysql

1、Linux/UNIX 上安装 MySQL 介绍

Linux平台上推荐使用RPM包来安装Mysql, MySQL AB提供了以下RPM包的下载地址:
https://dev.mysql.com/downloads/mysql/

  • MySQL - MySQL服务器。你需要该选项,除非你只想连接运行在另一台机器上的MySQL服务器。
  • MySQL-client - MySQL 客户端程序,用于连接并操作Mysql服务器。
  • MySQL-devel - 库和包含文件,如果你想要编译其它MySQL客户端,例如Perl模块,则需要安装该RPM包。
  • MySQL-shared - 该软件包包含某些语言和应用程序需要动态装载的共享库(libmysqlclient.so*),使用MySQL。
  • MySQL-bench - MySQL数据库服务器的基准和性能测试工具。

2、检查是否安装了Mysql

检测系统是否自带安装 MySQL

bash 复制代码
rpm -qa | grep mysql

进行卸载:

bash 复制代码
rpm -e mysql  // 普通删除模式
rpm -e --nodeps mysql  // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

3. centos上面一键安装Mysql

3.1 方法1,去下载rpm包,安装

1、直接下载附件已经整理好的安装包

如果需要其他安装包,去下载rpm包网站:

https://pkgs.org/

2、解压缩包之后,进入压缩包目录,直接终端执行

rpm -Uvh *.rpm --nodeps --force

3、Mysql 安装好了,需要再设置密码等等信息

可以参考:安装mysql

3.2 方法2,使用脚本一键安装

前提下载好了mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar,保存如下代码到install.sh 文件,直接bash install.sh,就直接可以使用

bash 复制代码
#!/bin/bash
mkdir mysql_install
tar xf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar -C mysql_install
cd mysql_install

rpm -qa | grep mariadb
yum -y remove mariadb-libs
rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm

echo "----------install success!!!!"

systemctl start mysqld
sleep 1
systemctl enable mysqld
sleep 1
systemctl status mysqld


# 获取密码
#MYSQL_PASSWD=`cat /var/log/mysqld.log | grep password | head -1 | rev  | cut -d ' ' -f 1 | rev`

# 修改密码
password=`grep "password" /var/log/mysqld.log | head -n 1`
install_passwd=${password:91:103}
echo "install_passwd:"
echo ${install_passwd}

echo "[mysql]" >>  /etc/my.cnf
echo "user=root" >>  /etc/my.cnf
echo "password=\"${install_passwd}\"" >>  /etc/my.cnf

NEW_PASSWORD='xxxxxxx'
mysql --connect-expired-password  -e "alter user 'root'@'localhost' identified by '$NEW_PASSWORD';"

sed -i '$d' /etc/my.cnf
sed -i '$d' /etc/my.cnf
sed -i '$d' /etc/my.cnf

echo "----------change password success!!!!"
sleep 1

# mysql给root开启远程访问权限
mysql -uroot -p${NEW_PASSWORD} -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY  '$NEW_PASSWORD';flush privileges;"
echo "----------set  PRIVILEGES success!!!!"
sleep 1

# mysql开启binlog、和event、关闭ssl(mysql57默认开启了ssl,但是dts不支持ssl连接)
echo 'server_id=2' >> /etc/my.cnf
echo 'log_bin=mysql-bin' >> /etc/my.cnf
echo 'binlog_format=ROW' >> /etc/my.cnf
echo 'expire_logs_days=30' >> /etc/my.cnf
echo 'event_scheduler=ON' >> /etc/my.cnf
echo 'skip_ssl' >> /etc/my.cnf
systemctl restart mysqld

echo "----------set binlog success!!!!"
alias mysql='mysql -uroot -xxxxxxx'

参考:
MySQL 安装

相关推荐
Linux运维技术栈10 分钟前
CVE-2026-91403 高危漏洞修复:Rocky Linux 9 多版本 JDK 环境清理实操
java·linux·运维
slongzhang_2 小时前
linux 递归删除源码文件|递归删除目录下 *.js,但排除 *.min.js
linux·开发语言·javascript
叼烟扛炮2 小时前
Linux 学习笔记(三十三):线程互斥——互斥锁(Mutex)与死锁
linux·运维·服务器·笔记·学习·1024程序员节
无足鸟ICT2 小时前
【RHCA+】who命令(查看已登陆用户)
linux·运维·服务器
Escalating_xu2 小时前
【Linux 网络编程】应用层协议 HTTP(下):Header、连接管理与 C++ HTTP 服务器
linux·服务器·网络
十年程序梦3 小时前
2026最新国内省市区县表,mysql表格
mysql
Random Glow4 小时前
二级索引与回表:一次回表到底多贵
数据库·mysql·性能优化·innodb·索引
GeW5 小时前
新质生产力路线图落地,Linux运维与数据库架构师的机会清单
linux
Brilliantwxx5 小时前
【Linux】 文件访问与路径解析:目录、文件名、dentry、路径缓冲与 dcache 全解析
linux·运维·服务器·开发语言·spring
father_12275 小时前
Greenplum 集群故障恢复与主备同步机制实战
linux·网络·greenplum