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

相关推荐
AlfredZhao17 小时前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
唐青枫19 小时前
MySQL JSON 实战详解:从存储、查询、更新到 JSON_TABLE 与索引
sql·mysql
小满87820 小时前
5.Mysql事务隔离级别与锁机制
mysql
元Y亨H2 天前
技术笔记:MySQL 字符集排序规则与大小写敏感性问题解决方案
mysql
戴为沐2 天前
Linux内存扩容指南
linux
zylyehuo2 天前
Linux 彻底且安全地删除文件
linux
这个DBA有点耶2 天前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构
掉头发的王富贵3 天前
【StarRocks】极限十分钟入门StarRocks
数据库·sql·mysql
用户805533698033 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297913 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux