二进制安装MySQL(一键安装脚本)

安装步骤(本文以MySQL5.7.37为例)

预备操作
  • 官方网站下载安装包,同时可以下载一下xftp进行文件传输

官网下载地址

  • 解决软件的依赖关系
    yum install cmake ncurses-devel gcc gcc-c++ vim lsof bzip2 openssl-devel ncurses-compat-libs -y
  • 解压mysql二进制安装包
    tar xf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
  • 移动mysql解压后的文件到/usr/local下改名叫mysql
    mv mysql-5.7.37-linux-glibc2.12-x86_64 /usr/local/mysql
新建组和用户,方便赋权限
  • 新建mysql组

groupadd mysql

  • 新建mysql用户,指定属组为mysql,并且指定这个用户的shell是/bin/false,最严格的nologin

useradd -r -g mysql -s /bin/false mysql

关闭firewalld、selinux
  • 关闭firewalld防火墙服务,并且设置开机不要启动
    service firewalld stop
    systemctl disable firewalld
  • 永久关闭selinux,使用sed替换直接生效到文件
    sed -i ‘/^SELINUX=/ s/enforcing/disabled/’ /etc/selinux/config
建一个目录用于存放数据,并设权限
  • 建目录

mkdir /data/mysql -p

  • 设权限,使得这个目录归mysql组和mysql用户所有其他人都不能访问,这样mysql用户就可以对这个文件进行读写了
    chown mysql:mysql /data/mysql/
    chmod 750 /data/mysql/
初始化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

  • 截取临时密码,设置一个变量保存临时密码
    tem_passwd=$(cat passwd.txt |grep “temporary”|awk ‘{print $NF}’)
ssl登入
  • 让mysql支持ssl方式登录的设置
    ./mysql_ssl_rsa_setup --datadir=/data/mysql/
修改PATH变量
  • 永久修改PATH变量,重启后失效
    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

  • 修改内核的open file的数量
    ulimit -n 1000000
  • 设置开机启动的时候也配置生效
    echo “ulimit -n 1000000” >>/etc/rc.local
    chmod +x /etc/rc.d/rc.local
启动MySQL进程

service mysqld start

  • 将mysqld添加到linux系统里服务管理名单里(旧系统的设置方式)
    /sbin/chkconfig --add mysqld
  • 设置mysqld服务开机启动
    /sbin/chkconfig mysqld on
  • 登入(初次修改密码需要使用–connect-expired-password 选项,e 后面接的表示是在mysql里需要执行命令 execute 执行,set password=‘123abc*’; 修改root用户的密码为123abc*)
    mysql -uroot -p$tem_passwd --connect-expired-password -e "set password=‘123abc*’;
登入

mysql -uroot -p’123abc*’ -e “show databases;”

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值