用二进制包方式安装mysql实验

时间:2022-02-12 21:02:37


1.需要用yum install 安装的基本包如下:
yum install xfs*

2.xfs文件系统挂载

[root@mvxl2530 ~]# pvs
  PV         VG      Fmt  Attr PSize   PFree
  /dev/sda2  vg_root lvm2 a--   39.80g    0
  /dev/sdb1  data    lvm2 a--  200.00g    0
[root@mvxl2530 ~]# vgs
  VG      #PV #LV #SN Attr   VSize   VFree
  data      1   1   0 wz--n- 200.00g    0
  vg_root   1   2   0 wz--n-  39.80g    0
确认上面200G的盘已用lvm在管理,需要移除。
移除VG:
[root@mvxl2530 ~]# vgremove data
Do you really want to remove volume group "data" containing 1 logical volumes? [y/n]: y
Do you really want to remove active logical volume lvmdata1? [y/n]: y
  Logical volume "lvmdata1" successfully removed
  Volume group "data" successfully removed

再重新改成xfs文件系统:
mkfs.xfs -f -i attr=2 -l lazy-count=1,sectsize=4096 -b size=4096 -d sectsize=4096 -L data /dev/sdb1

挂盘:
[root@mvxl2530 ~]# mkdir /apps
[root@mvxl2530 ~]# mount -o rw,noatime,nodiratime,noikeep,nobarrier,allocsize=100M,attr2,largeio,inode64,swalloc /dev/sdb1 /apps

2.禁用selinux和iptables

查看并禁用SELINUX:
  cat /etc/selinux/config是有设置:SELINUX=disabled
若没有设置,需修改配置文件需要重启机器:
 修改/etc/selinux/config 文件
 将SELINUX=enforcing改为SELINUX=disabled
 重启机器即可

禁用iptables
 chkconfig iptables off
 service iptables stop

3.内核参数设置:
vi /etc/sysctl.conf,参考下面参数增加或修改:

net.core.rmem_max = 4194304 #最大的TCP数据接收缓冲
net.core.wmem_max = 2097152 #最大的TCP数据发送缓冲
net.core.wmem_default = 262144 #表示接收套接字缓冲区大小的缺省值(以字节为单位)
net.core.rmem_default = 262144 #表示发送套接字缓冲区大小的缺省值(以字节为单位)
kernel.shmmni = 4096 #这个内核参数用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096 。通常不需要更改
kernel.sem = 250 32000 100 142
kernel.shmall = 2097152 #该参数表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152,通常不需要修改
kernel.shmmax = 8589934592 #该参数定义了共享内存段的最大尺寸(以字节为单位),此值默认为物理内存的一半 (8G)
kernel.sysrq = 0 #如无需调试系统排查问题,这个必须为0
fs.file-max = 6815744 #该参数表示文件句柄的最大数量。文件句柄设置表示在linux系统中可以打开的文件数量
fs.aio-max-nr = 1048576 # 该参数表示同时可以拥有的的异步IO请求数目
#Network
net.ipv4.tcp_syncookies = 1 #当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭。
net.ipv4.tcp_tw_reuse = 1 #允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭
net.ipv4.tcp_tw_recycle = 1 #TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭,注意如果是nat-nat网络,并与net.ipv4.tcp_timestamps = 1组合使用,则会出现时断时续的情况
net.ipv4.tcp_fin_timeout = 30 #修改系統默认的 TIMEOUT 时间
#避免服务器被大量的TIME_WAIT拖死
net.ipv4.tcp_keepalive_time = 1200 #当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为20分钟
net.ipv4.ip_local_port_range = 9000 65000 #如果连接数本身就很多,可以再优化一下TCP的可使用端口范围,进一步提升服务器的并发能力,默认值是32768到61000
net.ipv4.tcp_max_syn_backlog = 8192 #SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数
net.ipv4.tcp_max_tw_buckets = 5000 #系统同时保持TIME_WAIT的最大数量,如果超过这个数字,TIME_WAIT将立刻被清除并打印警告信息,默认为180000
#net.ipv4.conf.all.rp_filter = 0
#net.ipv4.conf.all.arp_filter = 0
#net.ipv4.conf.default.rp_filter = 0
#net.ipv4.conf.default.arp_filter = 0
#net.ipv4.conf.lo.rp_filter = 0
#net.ipv4.conf.lo.arp_filter = 0
#net.ipv4.conf.em1.rp_filter = 0
#net.ipv4.conf.em1.arp_filter = 0
#net.ipv4.conf.em2.rp_filter = 0
#net.ipv4.conf.em2.arp_filter = 0
vm.swappiness=10

执行sysctl -p
不报错表示已有生效。

4.limit参数设置

vi /etc/security/limits.conf
apps soft nofile 131072 #如果文件多,MySQL打开的文件句柄很多的话,可适当调大
apps hard memlock 128849018880 #可选,如需设置大内存页,根据系统内存而定
apps soft memlock 128849018880 #可选,如需设置大内存页,根据系统内存而定
apps soft core unlimited
apps hard core unlimited
apps hard nproc unlimited
apps soft nproc unlimited
apps hard nofile 131072 #如果文件多,MySQL打开的文件句柄很多的话,可适当调大
apps hard stack unlimited
apps soft stack unlimited


apps soft nofile 131072
apps hard memlock 128849018880
apps soft memlock 128849018880
apps soft core unlimited
apps hard core unlimited
apps hard nproc unlimited
apps soft nproc unlimited
apps hard nofile 131072
apps hard stack unlimited
apps soft stack unlimited


5.建立apps用户及组
groupadd -g 500 apps
useradd -u 500 -g apps apps

mkdir -p /apps/dbdat/mariadb101_data3306/log
mkdir -p /apps/logs/mysql
mkdir -p /apps/svr/mariadb101
mkdir -p /apps/tmp
mkdir -p /apps/tool
mkdir -p /apps/software
chown -R apps:apps /apps


6.下载解压和安装前准备

下载或从其它主机copy mariadb 10.1的安装包
解压,并copy到/apps/svr/mariadb101下:
cd  /apps/software
tar -zxvf mariadb-10.1.12-linux-x86_64.tar.gz
cd /apps/software/mariadb-10.1.12-linux-x86_64
cp -r * /apps/svr/mariadb101/

[root@mvxl2530 software]# cd /usr/local
[root@mvxl2530 local]# ln -s /apps/svr/mariadb101 mysql
[root@mvxl2530 local]# ls -ltr
lrwxrwxrwx  1 root root   20 May 10 11:34 mysql -> /apps/svr/mariadb101

将/usr/local/mysql/bin加到apps用户的$PATH中:
su - apps
vi .bash_profile
PATH=/usr/local/mysql/bin:$PATH:$HOME/bin
chown -R apps:apps /usr/local/mysql

将其它机器中修改好的my.cnf模板copy到本机上,并修改owner:
[root@mvxl2530 etc]# chown apps:apps /etc/my.cnf

修改my.cnf:

port=3306
server-id=1383306    ----采用ip第四段+端口号
innodb_buffer_pool_size=8g   ----物理内存的50%

配置文件中各路径位置改成与实际一致。

7.初始化DB

安装db:
[apps@mvxl2530 ~]$ /apps/svr/mariadb101/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/apps/svr/mariadb101
Installing MariaDB/MySQL system tables in '/apps/dbdat/mariadb101_data3306' ...
2016-05-10 13:33:33 47635231503488 [Note] /apps/svr/mariadb101/bin/mysqld (mysqld 10.1.12-MariaDB) starting as process 20721 ...
OK
Filling help tables...
2016-05-10 13:34:09 47827854640256 [Note] /apps/svr/mariadb101/bin/mysqld (mysqld 10.1.12-MariaDB) starting as process 20762 ...
OK
Creating OpenGIS required SP-s...
2016-05-10 13:34:12 47587770958976 [Note] /apps/svr/mariadb101/bin/mysqld (mysqld 10.1.12-MariaDB) starting as process 20801 ...
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !
To do so, start the server, then issue the following commands:

'/apps/svr/mariadb101/bin/mysqladmin' -u root password 'new-password'
'/apps/svr/mariadb101/bin/mysqladmin' -u root -h 10.16.2.230 password 'new-password'

Alternatively you can run:
'/apps/svr/mariadb101/bin/mysql_secure_installation'

当出现上面两次ok,表示已初始化成功。若有报错,查看错误日志文件检查问题。


8.启动:
/apps/svr/mariadb101/bin/mysqld_safe --defaults-file=/etc/my.cnf &

用ps -ef|grep mysql和netstat -nlp|grep 3306检查是否启动成功

9.更改密码:
/apps/svr/mariadb101/bin/mysqladmin -u root password "safe2016"

10.登入
mysql -u root -p --socket=/tmp/mysql3306.sock

11.关闭:
/apps/svr/mariadb101/bin/mysqladmin -uroot shutdown