mysql编译安装脚本(附详解)
目录
一.下载安装包
二.安装脚本
三.登录
一.下载安装包
注:选二进制版本,64位
二.安装脚本
先将压缩包下载下来,用xftp传进来
#!/bin/bash
#解决软件的依赖关系
#ncurses-compat-libs测试可用
yum install cmake ncurses-devel gcc gcc-c++ vim lsof bzip2 openssl-devel ncurses-compat-libs -y
#解压mysql二进制安装包
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
systemctldisable firewalld
#临时关闭selinux
setenforce 0
#永久关闭selinux
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 #--initialize初始化--basedir安装路径--datadir指定数据库存放路径
##初始化的时候会产生一些输出,里面有临时密码,将其重定向到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
#因为mysql官方提供了这样一个脚本可以用来使用service启动mysql
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文件的路径
socket=/data/mysql/mysql.sock
#监听哪个端口
port = 3306
#文件描述符
open_files_limit =8192
#innodb是mysql缓存引擎占用内存大小,越大运行越快
innodb_buffer_pool_size = 512M
character-set-server=utf8[mysql]
auto-rehash
prompt=\\u@\\d \\R:\\m mysql>
EOF
#修改内核的open file的数量
ulimit -n 1000000
#设置开机启动的时候也配置生效
echo "ulimit -n 1000000" >/etc/rc.local
chmod +x /etc/rc.d/rc.local#启动mysqld进程
service mysqld start#将mysqld添加到linux系统里服务管理名单里/sbin/chkconfig --add mysqld
#设置mysqld服务开机启动
/sbin/chkconfig mysqld on#初次修改密码需要使用--connect-expired-password选项
#-e后面接的表示是在mysql里需要执行命令execute执行
#set password='Sanchuang123#';修改root用户的密码为Sanchuang123#
mysql -uroot -p$tem_passwd --connect-expired-password -e "set password='Sanchuang123#';"#登录
mysql -uroot -p'Sanchuang123' -e 'show databass;'
1,Linux下安装Mysql为啥要创建对应的用户和用户组?
让mysql运行的时候使用一个独立的账号,如果mysql被黑了那么开始拿到的权限就是那个创建的账号而不是默认的root
当系统中文件的权限未设定给Mysql用户以及用户组时,Mysql用户无法进行读写执行操作。而如果MySQL被黑了,可以通那么开始拿到的权限就是那个创建的账号而不是默认的root,在MySQL启动的时候,单进程mysqld,该进程的属主就是mysql,这样就保证了mysql服务的独立性,即使mysql服务被黑掉,得到了mysql用户权限,也不会影响整个系统的安全。
2、mysql_ssl_rsa_setup简介
Mysql之加密连接mysql_ssl_rsa_setup_恒悦sunsite的博客-CSDN博客_mysql_ssl_rsa_setup
mysql5.7之前的版本是不提供ssl安全连接的,其在网络中数据都是以明文进行传输的。mysql_ssl_rsa_setup程序用于创建 SSL 证书和密钥文件以及 RSA 密钥对文件,以支持使用 SSL 的安全连接和使用 RSA 通过未加密连接的安全密码交换(如果这些文件丢失)。 如果现有的 SSL 文件已经过期,mysql_ssl_rsa_setup也可用于创建新的 SSL 文件。MySQL5.7默认是开启SSL连接,如果强制用户使用SSL连接,那么应用程序的配置也需要明确指定SSL相关参数,否则程序会报错。
三.登录
1,执行完成脚本后要重新登录才会重新加载改的变量
su - root
2,登录mysql
mysql -uroot -p'Sanchuang123'
mysql编译安装脚本(附详解)相关推荐
- 编译安装Nginx步骤详解
编译安装Nginx步骤详解 1,去Nginx官方网站下载源码包并解压 curl -O 或wget 跟下载链接 tar -xf 解压 2,进入nginx解压后的目录执行./configure - ./c ...
- mysql 数据库安装命令_教你MySQL数据库的编译安装以及命令详解(5.7版本)
一.安装MySQL所需的环境依赖包 [root@localhost opt]# yum -y install gcc gcc-c++ make ncurses ncurses-devel bison ...
- LNMP nginx1.4.6+php5.5.11+mysql5.6.17+mecache+opcache编译安装+opcache参数详解+opcache可视化php页面代码
可能要用到的软件: libiconv-1.13.tar.gz libmcrypt-2.5.8.tar.gz mcrypt-2.6.8.tar.gz mhash-0.9.9.9.tar.gz m ...
- linux编译安装网卡驱动详解(网卡丢包)
安装编译网卡驱动 这两天发现一台server丢包很严重,使用cacti监控工具时能获得snmp包,时常又不能,丢包严重,导致使用ssh工具连接过慢,连接数据库访问超时,此时要先确定是中病毒还是网卡问题 ...
- Nginx编译安装及配置文件详解
写在前面 Centos版本:Centos 7.6 - 64bit Nginx版本:1.20.2 一.什么是Nginx Nginx (engine x) 是一款轻量级的Web 服务器 .反向代理服务器及 ...
- MySQL数据库安装与配置详解
目录 一.概述 二.MySQL安装 三.安装成功验证 四.NavicatforMySQL下载及使用 一.概述 MySQL版本:5.7.17 下载地址:http://rj.baidu.com/soft/ ...
- mysql安装教程8.0.21安装_mysql8.0.21安装教程图文详解
1.下载 下载链接 点击download,这里可能需要登录甲骨文的账号,登录一下即可 2.解压 下载好会得到一个安装包 把它解压到一个能找到的目录下即可,我的是这样(my.ini文件你们应该没有) 3 ...
- mysql data文件夹恢复_【专注】Zabbix源码安装教程—步骤详解(2)安装并配置mysql...
四.安装并配置mysql(1) 解压mysql-5.7.26.tar.gz与boost_1_59_0.tar.gz #tar -xvf mysql-5.7.26.tar.gz #tar -xvf bo ...
- mysql 5.5.18下载_MySQL5.7.18下载和安装过程图文详解
MySql下载 1.打开官网找到下载路口,这里直接给出下载的地址 2.选择64位版本 3.直接下载 MySql5.7.18.1安装过程 1 .运行安装软件,接受协议 2.选择默认安装 3.下一步到 ...
最新文章
- 学历高和学历低的眼界差距有多大?
- Docker 网络基础原理
- Android之jni解决JNIEnv跨线程问题
- c语言中字符串 x,使用c语言解析字符串176x144中的数字
- 荔枝糖FPGA开发板相关博客
- java 整形数据类型_3.2Java基本数据类型之整型
- 【网络安全】XCodeGhost事件刨根问底
- BI_DBA_安装(3):安装informatic
- 【反反爬实战】网易有道翻译(免费、即时的多语种在线翻译)
- C#一个解决方案创建多个项目
- python爬房源信息_Python爬取链家二手房源信息
- linux 剪切合并文件夹,使用PDF-Shuffler拆分和合并PDF文件[Linux] | MOS86
- Linux 时间一致性环境NTP/Chrony服务器部署配置
- 高中数理化杂志高中数理化杂志社高中数理化编辑部2022年第21期目录
- java编写某计算器控制台程序_计算器 - 进阶的憨狗 - 博客园
- 红米6A 9.93开发版 刷 magisk面具 方法
- [附源码]JAVA+ssm网上游戏商店设计(程序+Lw)
- 阿里巴巴新手,如何入门,该从哪里开始学习-阿里巴巴学习--潭州阿里巴巴
- code vs 集成tfs_tfs – VSCODE和TFVC如何连接?
- FPGA PLL时钟经 ODDR送到管脚