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

相关推荐
Mr_hwt_1236 分钟前
基于mybatis-plus动态数据源实现mysql集群读写分离和从库负载均衡教程(详细案例)
数据库·spring boot·mysql·mybatis·mysql集群
怀旧,12 分钟前
【C++】19. 封装红⿊树实现set和map
linux·c++·算法
敲上瘾40 分钟前
Docker 存储卷(Volume)核心概念、类型与操作指南
linux·服务器·数据库·docker·容器·架构
神里流~霜灭43 分钟前
(C++)数据结构初阶(顺序表的实现)
linux·c语言·数据结构·c++·算法·顺序表·单链表
DemonAvenger1 小时前
MySQL内存优化:缓冲池与查询缓存调优实战指南
数据库·mysql·性能优化
禁默1 小时前
已知 inode 号,如何操作文件?Ext 文件系统增删查改底层逻辑拆解
linux·服务器·数据库
许怀楠1 小时前
【Linux】基础指令(下)
linux
weixin_456904272 小时前
MySQL高级特性详解
数据库·mysql
咕咚.萌西2 小时前
RISC-V开发环境搭建
linux·硬件架构·risc-v
Mr_hwt_1232 小时前
基于MyCat 中间件实现mysql集群读写分离与从库负载均衡教程(详细案例教程)
数据库·mysql·中间件·mysql集群