liunx 二进制 方式安装 mysql 5.7

  1. 下载二进制安装包
    . 下载页面:https://downloads.mysql.com/archives/community/

    在这里插入图片描述

  2. 创建用户和组

groupadd mysql
useradd -g mysql -s /sbin/nologin mysql
  1. 解压到指定目录
tar -zxvf mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz
mv  mysql-5.7.17-linux-glibc2.5-x86_64 mysql /usr/local/mysql
  1. 配置PATH
echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile
  1. 数据库目录规划
文件类型实例3306软链接
数据datadir/usr/local/mysql/data/data/mysql/data
参数文件my.cnf/usr/local/mysql/etc/my.cnf
错误日志log-error/usr/local/mysql/log/mysql_error.log
二进制日志log-bin/usr/local/mysql/binlogs/mysql-bin/data/mysql/binlogs/mysql-bin
慢查询日志slow_query_log_file/usr/local/mysql/log/mysql_slow_query.log
套接字socket文件/usr/local/mysql/run/mysql.sock
pid文件/usr/local/mysql/run/mysql.pid

备注:考虑到数据和二进制日志比较大,需要软链

mkdir -p /data/mysql/{data,binlogs,log,etc,run}
ln -s /data/mysql/data    /usr/local/mysql/data
ln -s /data/mysql/binlogs    /usr/local/mysql/binlogs
ln -s /data/mysql/log    /usr/local/mysql/log
ln -s /data/mysql/etc    /usr/local/mysql/etc
ln -s /data/mysql/run    /usr/local/mysql/run
chown -R mysql.mysql     /data/mysql/
chown -R mysql.mysql     /usr/local/mysql/{data,binlogs,log,etc,run}

也可以只对数据目录和二进制日志目录软链

mkdir -p /usr/local/mysql/{log,etc,run}
mkdir -p /data/mysql/{data,binlogs}
ln -s /data/mysql/data  /usr/local/mysql/data
ln -s /data/mysql/binlogs   /usr/local/mysql/binlogs
chown -R mysql.mysql /usr/local/mysql/{data,binlogs,log,etc,run}
chown -R mysql.mysql /data/mysql
  1. 配置my.cnf参数文件
    删除系统自带的my.cnf

    rm -f /etc/my.cnf
    

    在/usr/local/mysql/etc/下创建my.cnf文件,加入如下参数,其他参数根据需要配置

[client]
port = 3306
socket = /usr/local/mysql/run/mysql.sock

[mysqld]
port = 3306
socket = /usr/local/mysql/run/mysql.sock
pid_file = /usr/local/mysql/run/mysql.pid
datadir = /usr/local/mysql/data
default_storage_engine = InnoDB
max_allowed_packet = 512M
max_connections = 2048
open_files_limit = 65535

skip-name-resolve
lower_case_table_names=1

character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'


innodb_buffer_pool_size = 1024M
innodb_log_file_size = 2048M
innodb_file_per_table = 1
innodb_flush_log_at_trx_commit = 0


key_buffer_size = 64M

log-error = /usr/local/mysql/log/mysql_error.log
log-bin = /usr/local/mysql/binlogs/mysql-bin
slow_query_log = 1
slow_query_log_file = /usr/local/mysql/log/mysql_slow_query.log
long_query_time = 5


tmp_table_size = 32M
max_heap_table_size = 32M
query_cache_type = 0
query_cache_size = 0

server-id=1

  1. 初始化数据库
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

在日志文件里会提示一个临时密码,记录这个密码

grep 'temporary password' /usr/local/mysql/log/mysql_error.log 
2017-03-12T13:26:30.619610Z 1 [Note] A temporary password is generated for root@localhost: b#uhQy*=d7yH

  1. 生成ssl
mysql_ssl_rsa_setup --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
  1. 设置启动项命令
cp ./support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --list mysqld

然后就可以使用启动和关闭mysql 命令了

#启动
service mysqld start  
#停止
service mysqld stop
#重启
service mysqld restart

mysql启动时报错:Starting MySQL… ERROR! The server quit without updating PID file ?解决办法

  1. 重置登录密码
/usr/local/mysql/bin/mysqladmin -uroot -p'b#uhQy*=d7yH' password '新密码';

图例:
在这里插入图片描述
参考资料:
https://www.cnblogs.com/xiaoqiangzhaitai/p/6561708.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值