暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

不知MySQL-基础05-使用tar包安装MySQL

  MySQL作为“世界上最受欢迎的开源数据库”,在国内也有着广大的市场,作为想从事IT相关工作的人员来说,有必要对其进行一定的了解。本篇文章主要讲解在linux环境下使用tar包安装MySQL的步骤,环境为Centos7.5+MySQL5.7.32 。

1、下载安装包

  首先需要下载对应的tar包。浏览器输入 mysql download,找到社区版本的下载地址如下,点击进入下载页面。 

                



  此时的下载界面初始化显示只可以下载最新的版本,需要选择Archives标签,找到对应的历史版本。注意最右边的一个标签的主要内容是MySQL主要社区版本的文档和变更记录,如果想查看对应版本的文档,或者新特性、Bug修复记录等,可点击此标签。

    




  此时选择对应要下载的版本。这里涉及到MySQL的版本说明。这里的5.7.32表示:主版本号是5(区分比较大的改动如文件格式改动等版本差异),发行版本号是7(区分新特性新功能等版本差异) , 发行序列号是32 (区分bug修复等版本差异)。


  然后点击下载即可。

  由于本次作为测试安装及简单使用,其安装步骤一致,使用新版本进行演示。如果需要选择生产环境的版本,此时需要多加注意。

  对于生产环境的版本选择,必选社区版本中注释为General Availability的官方稳定版本,然后根据业务需求、新特性支持、复制及InnoDB性能等查找符合要求的主版本号和发行版本号,然后选择合适的发行序列号。对于最新的GA版本,一般生产很少使用,毕竟社区版本不是商业版本,测试不可能特别全面,为了稳定起见,最好查看MySQL版本的更改历史和发布说明,选择已经作为GA版本一段时间的版本。可考虑最新的版本之下较旧的2-4个版本作为备选版本。另外如备选版本之上较新的一个版本存在较多的bug修复,则可以考虑排除此旧版本。对于选定后的备选版本,还可以从mysql官方的bug报告查询选定版本是否有生产bug未修复等,如下面查询5.7.32版本的bug报告:


  

从显示的bug列表查看备选版本的bug数量,作为另一个版本选择依据。选定完版本之后,需要进行详细的测试和验证工作。此外还可以询问其他大厂稳定在用的线上版本作为依据等。


2、安装配置

  2.1 安装依赖:

yum install -y libaio-devel  lrzsz vimwget # linux异步io、文件本地上传下载等

  2.2 创建用户:

groupadd -g 3306 mysql# 创建mysql用户组    
useradd -M -s  /sbin/nologin mysql -g mysql  -u 3306  # 创建不能够登录系统的mysql用户,并将该用户归入mysql用户组

  2.3 优化系统参数

    # 关闭SELinux(安全强化,linux中支持安全访问控制策略机制的一种特性。主要用来阻止程序访问未被配置的文件和网络端口。)

if [ "$(getenforce)" != "Disabled" ] || [ "$(cat /etc/selinux/config|grep -w "^SELINUX"|awk -F"=" '{print $2}')" != "disabled" ];then        
       setenforce 0; sed -i "/^SELINUX=/c SELINUX=disabled" /etc/selinux/config
fi

    # linux默认值为60,表示当物理内存剩余低于40%时开始使用交换分区。调低此值降低linux对swap的使用,使linux尽可能多的使用内存,设置为0极端情况会出现oom现象。

if [ "$(cat /proc/sys/vm/swappiness)" != "5" ] || [ "$(cat /etc/sysctl.conf|grep vm.swappiness|awk -F"=" '{print $2}')" != "5" ];then
  sysctl vm.swappiness=5
 if [ -z "$(cat /etc/sysctl.conf|grep -w "^vm.swappiness")" ];then
  echo "vm.swappiness = 5" >> /etc/sysctl.conf
 else
  sed -i "/vm.swappiness/c vm.swappiness=5" /etc/sysctl.conf
 fi
fi
echo "never" > /sys/kernel/mm/transparent_hugepage/enabled# 禁用透明大页
echo "never" > /sys/kernel/mm/transparent_hugepage/defrag# 禁用透明大页

    # 禁用透明大页

echo "if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
 echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi" >> /etc/rc.d/rc.local

    # 提高文件缓存刷脏数据的频率,防止脏数据过多异常情况下数据丢失

echo "vm.dirty_ratio = 15
vm.dirty_background_ratio = 5">> /etc/sysctl.conf

    # 用户限制设置

echo "mysql hard cpu  unlimited
   mysql soft cpu  unlimited
   mysql hard memlock unlimited
   mysql soft memlock unlimited
   mysql hard nofile 64000
   mysql soft nofile 64000
   mysql hard nproc 192276
   mysql soft nproc 192276
   mysql  hard fsize unlimited
   mysql soft fsize unlimited
   mysql hard as unlimited
   mysql soft as unlimited" >>/etc/security/limits.conf

  2.4 上传文件到Centos服务器,并进行安装。这里使用的是rz上传的方式。



    解压文件:

tar -xzf /tmp/mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz -C /usr/local

    创建软连接:

ln -s /usr/local/mysql-5.7.32-linux-glibc2.12-x86_64 /usr/local/mysql
ln -s /usr/local/mysql/bin/* /usr/bin

    创建数据目录并更改用户组:

mkdir -p /mysqldata/{binlog,relaylog,slowlog,data,tmp,secure};chown -R mysql:mysql /mysqldata/

    创建配置文件:

        vim etc/my.cnf此时一般会已经存在此文件,此时为系统自带的mariadb的配置文件,可以将其删除,然后重新创建即可。如使用rpm包进行安装,需要将系统默认的mariadb删除:rpm -qa | grep mariadb | xargs rpm -e --nodeps

      初始化mysql:

mysqld --defaults-file=/etc/my.cnf  --initialize   --user=mysql --basedir=/usr/local/mysql

      ssl相关:

mysql_ssl_rsa_setup --defaults-file=/etc/my.cnf --user=mysql --basedir=/usr/local/mysql

      制作启动文件:

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

     更改启动文件: 

sed -i 's#^basedir=#basedir=/usr/local/mysql#g' /etc/init.d/mysqld
sed -i 's#^datadir=#datadir=/mysqldata/data#g' /etc/init.d/mysqld

     如果是多实例,需要修改:mysqld_pid_file_path、extra_args、mysqld_safe等参数

     可选:设置开机启动:

chkconfig --add mysqld;chkconfig --level 235 mysqld on

     启动mysql:

service mysqld start

     如遇到Starting MySQL.The server quit without updating PID file (/[FAILED]a/data/mysql.pid).类似问题,请仔细检查配置文件是否有错误配置, 以及配置文件中涉及到的目录是否已经创建,一般都是由于配置文件问题导致的此类报错

3、修改MySQL密码

  此时数据库已经启动,必须更改密码才能进行其他操作。可根据错误日志中的密码进入mysql更改密码,或使用命令行参数更改。


  此时找到的自动生成的密码为ylnv2%E)+eZk,登录mysql:

mysql -hlocalhost -uroot -p

    回车,然后使用交互式命令输入密码ylnv2%E)+eZk,即登录mysql成功。之后进行密码修改:

alter user root@'localhost' identified by 'mypassword';


此时整个安装过程完成,后续的涉及到建库建表及创建用户的操作,下篇继续进行分享。




文章转载自不止工作 知足常乐,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论