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 安装

相关推荐
猫吃了源码2 分钟前
Linux系统制作 Ubuntu Server 24.04 启动U盘详细教程
linux·服务器·ubuntu
hehelm2 分钟前
仿muduo库实现高并发服务器—EventLoop
linux·服务器·网络·c++
Lucky09285 分钟前
codex 安装前置软件
linux·运维·macos
mengge.cloud15 分钟前
0823Keepalived + LVS(DR) + MariaDB主主 小白完整实战教程
linux·运维·网络·oracle·负载均衡·mariadb·lvs
kk”8 小时前
Linux的组和权限管理
linux·运维·服务器
mohesashou10 小时前
红帽linux的K8S部署
linux·kubernetes·ansible
xiaoye-duck10 小时前
《Linux网络编程》UDP Socket 编程实战:从 Echo 回显、通用字典服务到套接字封装全流程
linux·网络·udp
拂拉氏11 小时前
【Linux】 开发工具(Makefile、git、cgdb)解析与对于操作系统的基础认识
linux·git·操作系统·makefile·cgdb
孙克旭_11 小时前
Docker 镜像构建|Vue+SpringBoot+Go 多语言项目 Dockerfile 案例
linux·运维·vue.js·spring boot·docker·dockerfile