01.Mysql--二进制安装mysql、卸载、升级

简要介绍

mysql是开源数据库,开源但不是免费的数据库,业务不是特别大,属于oracle公司(甲骨文)

oracle 是大型的数据库,银行,上市公司,证券等经常使用,贵,但是好用

互联网公司去IOE --> IBM(服务器) Oracle(数据库) EMC(存储设备)

mysql --> 瑞典AB Widenius卖给sun公司 --> sun公司被Oracle收购

mysql创始人 --> 继续开发了MariaDB

关系型数据库 mysql mariadb oracle postgreSQL..

非关系型数据库:redis MongoDB..

国产的数据库 TIDB 达梦数据库 人大金仓 南大通用 神舟通用...

安装 卸载 滚动升级

第一步,在官网下载文件。推荐社区版的5.7.*版本,因为更加的稳定,并不是说版本越新越好。

第二步,可分批操作或者直接运行下面的脚本

[root@localhost ~]# cat onekey_install_mysql_binary.sh
#!/bin/bash

#解决软件的依赖关系
yum  install cmake ncurses-devel gcc  gcc-c++  vim  lsof bzip2 openssl-devel ncurses-compat-libs -y

#解压mysql二进制安装包(我们的是5.7.38版本)
tar  xf  mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz

#移动mysql解压后的文件到/usr/local下改名叫mysql
mv mysql-5.7.38-linux-glibc2.12-x86_64 /usr/local/mysql

#新建组和用户 mysql
groupadd mysql
#mysql这个用户的shell 是/bin/false 属于mysql组
useradd -r -g mysql -s /bin/false mysql

#关闭firewalld防火墙服务,并且设置开机不要启动
service firewalld stop
systemctl  disable  firewalld

#临时关闭selinux
setenforce 0
#永久关闭selinux(sed为替换命令)
sed -i '/^SELINUX=/ s/enforcing/disabled/'  /etc/selinux/config

#新建存放数据的目录
mkdir  /data/mysql -p
#修改/data/mysql目录的权限归mysql用户和mysql组所有,这样mysql用户可以对这个文件夹进行读写了
chown mysql:mysql /data/mysql/
#只是允许mysql这个用户和mysql组可以访问,其他人都不能访问
chmod 750 /data/mysql/

#进入/usr/local/mysql/bin目录
cd /usr/local/mysql/bin/

#初始化mysql (会生成临时密码保存到passwd.txt文件中)
./mysqld  --initialize --user=mysql --basedir=/usr/local/mysql/  --datadir=/data/mysql  &>passwd.txt

#让mysql支持ssl方式登录的设置
./mysql_ssl_rsa_setup --datadir=/data/mysql/

#获得临时密码
tem_passwd=$(cat passwd.txt |grep "temporary"|awk '{print $NF}')
  #$NF表示最后一个字段
  # abc=$(命令)  优先执行命令,然后将结果赋值给abc

# 修改PATH变量,加入mysql bin目录的路径
#临时修改PATH变量的值
export PATH=/usr/local/mysql/bin/:$PATH
#重新启动linux系统后也生效,永久修改
echo  'PATH=/usr/local/mysql/bin:$PATH' >>/root/.bashrc

#复制support-files里的mysql.server文件到/etc/init.d/目录下叫mysqld
cp  ../support-files/mysql.server   /etc/init.d/mysqld

#修改/etc/init.d/mysqld脚本文件里的datadir目录的值
sed  -i '70c  datadir=/data/mysql'  /etc/init.d/mysqld

#生成/etc/my.cnf配置文件
cat  >/etc/my.cnf  <<EOF
[mysqld_safe]

[client]
socket=/data/mysql/mysql.sock

[mysqld]
socket=/data/mysql/mysql.sock
port = 3306
open_files_limit = 8192
innodb_buffer_pool_size = 512M
character-set-server=utf8

[mysql]
auto-rehash
prompt=\\u@\\d \\R:\\m  mysql>
EOF

#将mysqld添加到linux系统里服务管理名单里
/sbin/chkconfig --add mysqld
#设置mysqld服务开机启动
/sbin/chkconfig mysqld on

#启动mysqld进程
service mysqld start

#初次修改密码需要使用--connect-expired-password 选项
#-e 后面接的表示是在mysql里需要执行命令  execute 执行
#set password='Sanchuang123#';  修改root用户的密码为Sanchuang123#
mysql -uroot -p$tem_passwd --connect-expired-password   -e  "set password='123456';"


#检验上一步修改密码是否成功,如果有输出能看到mysql里的数据库,说明成功。
mysql -uroot -p'123456'  -e "show databases;"


[root@web bin]# ulimit -n 1000000
[root@web bin]# echo "ulimit -n 1000000" >>/etc/rc.local
[root@web bin]# chmod +x /etc/rc.d/rc.local
 

卸载脚本

要明确数据库就是一个文件夹,删除数据库即删除文件夹。

卸载脚本

[root@localhost ~]# cat uninstall_binary_mysql.sh
#!/bin/bash
​
​
#停止mysqld服务
service mysqld stop
#删除用户
userdel -r  mysql
​
#删除数据目录和base目录
rm -rf /usr/local/mysql
rm -rf /data/
rm -rf /etc/init.d/mysqld
rm  -rf  /etc/my.cnf

升级--在升级软件的过程中尽量保持业务的持续

1.安装新版的mysql

2.停止旧版的mysql

3.导出旧版本的mysql里的数据,导入到新的mysql里面

4.启用新的mysql。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值