MySQL5.7.22 二进制安装教程

首先上传安装包
mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

目录规划

datadir(数据文件目录):	   	   	 /mysqldata/data
basedir(软件安装目录):			 /var/lib/mysql
binlog目录(存放binlog日志):     /mysqldata/binlog

系统配置

关闭SELINUX
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
关闭服务器防火墙
systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld
建立组和用户
/usr/sbin/groupadd -g 2000 mysql
/usr/sbin/useradd -g mysql -u 2000 mysql
配置hosts文件
vim /etc/hosts
192.168.1.218   mysql_a
配置Limits
cat>>/etc/security/limits.conf<<EOF
mysql   soft   nofile    4096
mysql   hard   nofile    65536
mysql   soft   nproc     4095
mysql   hard   nproc     16384
mysql   soft   stack     10240
mysql   hard   stack     32768
EOF
修改进程数限制
cat>>/etc/security/limits.d/90-nproc.conf<<EOF
mysql soft nproc 4095
mysql hard nproc 16384
EOF
系统内核参数调整
vim /etc/sysctl.conf
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 965317
kernel.shmmax = 3163150745
fs.aio-max-nr = 1048576
vm.swappiness= 0
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.ip_local_port_range = 1024 65500
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_max_tw_buckets = 8000
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 10

kernel.shmall 的值可以通过如下命令计算:
echo "`cat /proc/meminfo | grep "MemTotal" | awk '{print $2}'` / (`getconf PAGESIZE` / 1024)" | bc
kernel.shmmax 的值可以通过如下命令计算:
echo "`cat /proc/meminfo | grep "MemTotal" | awk '{print $2}'` * 1024 * 0.8" | bc  | sed 's#\..*$##'

目录创建

参考上面目录规划创建目录
mkdir -p /mysqldata/data 
mkdir -p /mysqldata/binlog/
mkdir -p /mysqldata/relay-bin
chown -R mysql:mysql /mysqldata
chown -R mysql:mysql /mysqldata/binlog/
chown -R mysql:mysql /mysqldata/relay-bin

安装MySQL 5.7.22

安装与卸载依赖包
yum remove -y mariadb-libs-*
yum remove -y mysql-libs-*
yum -y install wget cmake gcc gcc-c++ ncurses  ncurses-devel libaio-devel openssl openssl-devel
解压二进制包
tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz -C /var/lib/
cd /var/lib/
mv mysql-5.7.22-linux-glibc2.12-x86_64/ mysql/
chown -R mysql:mysql /var/lib/mysql
建立参数文件
vim /etc/my.cnf
[mysql]
port                           = 3306
socket                         = /mysqldata/data/mysql.sock
default_character_set          = utf8mb4
[mysqld]
user                           = mysql
port                           = 3306
default_storage_engine         = InnoDB
character_set_server           = utf8mb4
collation_server 			   = utf8mb4_unicode_ci
explicit_defaults_for_timestamp= true
transaction_isolation          = READ-COMMITTED
socket                         = /mysqldata/data/mysql.sock
pid_file                       = /mysqldata/data/mysql.pid
wait_timeout                   = 31536000
interactive_timeout            = 31536000
datadir                        = /mysqldata/data
basedir                        = /var/lib/mysql
log_bin                        = /mysqldata/binlog/mysql-bin
expire_logs_days               = 7
sync_binlog                    = 1
server_id                      = 1
relay_log                      = /mysqldata/relay-bin
innodb_log_group_home_dir      = /mysqldata/data
innodb_log_file_size           = 128M
innodb_buffer_pool_size        = 2G
innodb_buffer_pool_instances   = 4
innodb_undo_directory          = /mysqldata/data
innodb_undo_tablespaces        = 2
log_error                      = /mysqldata/data/mysql-error.log
gtid_mode                      = on
enforce_gtid_consistency       = 1
初始化数据库
/var/lib/mysql/bin/mysqld --defaults-file=/etc/my.cnf --user=mysql --datadir=/mysqldata/data --initialize
原始密码会在err_log中
tail -100 /mysqldata/data/mysql-error.log

在这里插入图片描述

配置环境变量
vim /etc/profile
export PATH=/var/lib/mysql/bin:$PATH
source /etc/profile
启动数据库
/var/lib/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf &
登录数据库(输入上面日志中的密码)
mysql -uroot -p

修改密码
set password for root@localhost = password('mysql');
flush privileges;
配置Service脚本
su - root
cp /var/lib/mysql/support-files/mysql.server /etc/init.d/mysqld 
chmod +x /etc/init.d/mysqld
编辑脚本,修改下面3个地方。
su - root
vi /etc/init.d/mysqld
basedir=/var/lib/mysql
datadir=/mysqldata
mysqld_pid_file_path=/mysqldata/data/mysql.pid
测试服务
service mysqld stop
service mysqld start
配置开机自启动(可选)
chkconfig mysqld on

安装完成

posted @   学无止境的小一  阅读(25)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示