Mysql服务安装教程

mysql一共有四种安装方式

绿色安装部署

#下载绿色包

groupadd mysql &&  useradd -g mysql mysql -s /sbin/nologin

#安装依赖
yum -y install libaio* numactl*

#下载解压和初始化

wget 
https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz

tar xvf mv mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz  && mv mysql-5.7.25-linux-glibc2.12-x86_64 /user/local/mysql


  /usr/local/mysql/bin/mysqld --initialize --datadir=/usr/local/mysql/data  --basedir=/usr/local/mysql  --explicit_defaults_for_timestamp=true    --user=mysql
cp -rf /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
#配置文件
cat >/etc/my.cnf <<EOF
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
log-error=/usr/local/mysql/logs/mariadb.log

port = 3306
socket = /tmp/mysql.sock


[client] 
port = 3306
socket = /tmp/mysql.sock

EOF
#启动生成环境变量
/etc/init.d/mysqld start

echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile

yum安装部署

#centos6
yum -y install mysql mysql-server mysql-devel
chkconfig --add mysqld 

#centos7
yum -y install mariadb maridb-server
systemctl enable mariadb

源码安装部署

cat /tmp/mysq_install.sh
 
#!/bin/bash
mysql_dir="/usr/local/mysql"
mysql_package="mysql-5.7.25.tar.gz"
mysql_data="/usr/local/mysql/data"
port=3306
cpu=$(cat /proc/cpuinfo |grep "processor"|wc -l)
Free=`expr $i / 5 + $i / 2`

groupadd -g 701 mysql
useradd -M -g mysql -u 1101 -s /sbin/nologin   mysql
yum -y install gcc gcc-c++ cmake make  openssl-devel libaio bison  perl perl-devel ncurses-devel
tar xvf ${mysql_package}
mysql_package=$(echo ${mysql_package}|awk -F '.tar' '{print $1}')
cd $mysql_package && cmake -DCMAKE_INSTALL_PREFIX=${mysql_dir} -DDEAULT_CHARSET=utf8 -DEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1  -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1  -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1  -DENABLED_LOCAL_INFILE=1    -DMYSQL_USER=mysql  && make -j${cpu} && make install && cd -
echo "PATH=$PATH:${mysql_dir}/bin" >> /etc/profile
source /etc/profile
${mysql_dir}/scripts/mysql_install_db --basedir=${mysql_dir} --datadir=${mysql_data} --user=mysql --group=mysql
cp ${mysql_dir}/support-files/mysql.server /etc/init.d/mysqld 
chkconfig --add mysqld
chown -R mysql:mysql ${mysql_data}
mkdir -p /var/lib/mysql/
ln -s ${mysql_data}/mysql.sock /tmp/mysql.sock
rm -rf $mysql_package
cat > /etc/my.cnf << EOF
[client]
port                            =${port}
socket                          =${mysql_data}/mysql.sock
[mysql]
port = 3306
default-character-set           =utf8
max_allowed_packet              =1024M
socket                          =${mysql_data}/mysql.sock
#prompt                          ="\\u@\\h:\\d\\r:\\m:\\s>"
pager                           ="more"
[mysqld]
character-set-server            =utf8  
user                            =mysql
port                            =${port}
socket                          =${mysql_data}/mysql.sock
basedir                         =${mysql_dir}
datadir                         =${mysql_data}
pid-file                        =${mysql_data}/mysql.pid

####连接数优化####
back_log = 600   
open_files_limit                =65535
max_allowed_packet              =1024M
max_connect_errors              =50000
max_connections                 =2000
max_user_connections            =2000


####表缓冲####
thread_cache_size               =256
table_definition_cache          =2048

####慢查询优化####
slow_query_log = ON
slow_query_log_file = ${mysql_data}/slow.log
long_query_time = 1

#####myisam####
concurrent_insert               =2
key_buffer_size                 =256M
sort_buffer_size                =100k
join_buffer_size                =100K
read_buffer_size                =100K
read_rnd_buffer_size            =100K
myisam_sort_buffer_size         =100M


####innodbplugin###
innodb_file_format              =Barracuda
innodb_strict_mode              =1
#innodb
default-storage-engine          =INNODB
innodb_log_buffer_size          =200M
innodb_log_file_size            =256M


#innodb_buffer_pool_size 暂用内用的60到70###

innodb_buffer_pool_size         =${Free}
innodb_max_dirty_pages_pct      =60
innodb_flush_method             =O_DIRECT
innodb_file_per_table           =1
innodb_lock_wait_timeout        =100
innodb_log_files_in_group       =2
innodb_open_files               =60000
###InnoDBIO cpu优化
innodb_write_io_threads         =${cpu}
innodb_read_io_threads          =${cpu}
innodb_flush_log_at_trx_commit  =0
EOF
chkconfig mysqld on
/etc/init.d/mysqld restart


docker 部署


mkdir -p /usr/local/mysql/{data,conf}
cat /usr/local/mysql/conf/my.cnf

cat /usr/local/mysql/docker-compose.yaml

version: '3.1'
services:
  mysql:
    image: mysql:5.7
    container_name: mysql57
    ports:
     - "3306:3306"
    environment:
      MYSQL_ROOT_PASSWORD: "123456"
      MYSQL_USER: 'root'
      MYSQL_PASS: '123456'
    volumes:
     - /usr/local/mysql/data:/var/lib/mysql
     - /usr/local/mysql/conf/my.cnf:/etc/my.cnf
    restart: always
    network_mode: "bridge"

  docker-compose up -d 
  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值