Linux-shell脚本-mysql一键安装

转自: https://blog.csdn.net/zmken497300/article/details/51615678

安装环境

  1. CentOS-7-x86_64-DVD-1511.iso
  2. mysql-5.6.29-linux-glibc2.5-x86_64.tar.gz
  3. mysql_install.sh脚本

mysql_install.sh脚本

  1.  
    #!/bin/bash
  2.  
     
  3.  
    #输入mysql压缩文件地址
  4.  
    fileName=$1;
  5.  
    if [ -f ${fileName} ]
  6.  
    then
  7.  
    #解压mysql
  8.  
    tar -zxvf ${fileName};
  9.  
    echo 'mysql解压完成,正在删除/usr/local/mysql文件夹';
  10.  
    rm -rf /usr/local/mysql;
  11.  
    echo '删除文件夹完成,正在移动解压后的文件';
  12.  
    mv ${fileName%%.tar.gz} /usr/local/mysql;
  13.  
    cd /usr/local/mysql;
  14.  
    else
  15.  
    echo '请输入正确的文件';
  16.  
    fi
  17.  
     
  18.  
    #如果系统缺少Data:Dumper模块需要打开下面命令
  19.  
    #yum -y install autoconf;
  20.  
     
  21.  
    echo '移动完成,正在初始化数据库';
  22.  
    #初始化数据库
  23.  
    #scripts/mysql_install_db --user=mysql;
  24.  
    scripts/mysql_install_db --user=mysql --explicit_defaults_for_timestamp;
  25.  
     
  26.  
    #创建mysql用户和组
  27.  
    groupadd mysql;
  28.  
    useradd -g mysql mysql;
  29.  
     
  30.  
    #修改文件夹的用户和组
  31.  
    chown -R root .;
  32.  
    chown -R mysql data;
  33.  
    chgrp -R mysql .;
  34.  
     
  35.  
    echo '初始化数据库完成,正在修改mysql配置文件';
  36.  
    #修改mysql配置文件
  37.  
    sed -i '/mysqld/adatadir = /usr/local/mysql/data' my.cnf;
  38.  
    sed -i '/mysqld/aasedir = /usr/local/mysql' my.cnf;
  39.  
    sed -i '/mysqld/acharacter-set-server=utf8' my.cnf;
  40.  
    sed -i '/mysqld/aport = 3306' my.cnf;
  41.  
    sed -i '/mysqld/i[client]' my.cnf;
  42.  
    sed -i '/mysqld/iport = 3306' my.cnf;
  43.  
    sed -i '/mysqld/idefault-character-set=utf8' my.cnf;
  44.  
    sed -i '/mysqld/i ' my.cnf;
  45.  
    sed -i '/mysqld/i[mysql]' my.cnf;
  46.  
    sed -i '/mysqld/idefault-character-set=utf8' my.cnf;
  47.  
    sed -i '/mysqld/i ' my.cnf;
  48.  
     
  49.  
    echo '修改mysql配置文件完成,正在将mysql加入服务中';
  50.  
    cp -rf support-files/mysql.server /etc/init.d/mysql
  51.  
     
  52.  
    echo 'mysql加入服务完成,正在添加开机自启动';
  53.  
    chkconfig mysql on
  54.  
     
  55.  
    echo '添加开机自启动成功';
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55

example

  1.  
    //一键安装
  2.  
    sh mysql_install.sh mysql-5.6.29-linux-glibc2.5-x86_64.tar.gz
  3.  
    //执行完后开启mysql服务
  4.  
    service mysql start
  5.  
    //开启服务失败请按最后错误提示排错,排错后选择性继续
  6.  
     
  7.  
    //进去mysql安装目录
  8.  
    cd /usr/local/mysql
  9.  
    //修改root密码
  10.  
    ./bin/mysqladmin -u root password "123456"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

错误1:The server quit without updating PID file问题的解决办法

1.可能进程里已经存在mysql进程

解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9 进程号”杀死,然后重新启动mysqld!

2.以前安装mysql的配置文件没有删除

解决办法:用命令“find / -name my.cnf*”查看是否有文件,如果有需要全部删除,

3.selinux惹的祸,如果是centos系统,默认会开启selinux

解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。

4.如果未解决,请百度一下吧

错误2:缺少Data:Dumper模块

打开mysql_install.sh脚本中这一行注释 #yum -y install autoconf;

错误3:’Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)’

首先查找mysql.sock文件在哪里

find / -name mysql.sock
  • 1

我的是在/temp/mysql.sock目录下

找到之后输入命令重启mysql服务后搞定

ln -s /temp/mysql.sock /tmp/mysql.sock
  • 1
原文地址:https://www.cnblogs.com/heshana/p/15090593.html