开发者社区> luckcheng> 正文

[mysql]linux上,mysql5.7二进制安装

简介: 准备 安装包(必须): Linux - Generic (glibc 2.12) (x86, 64-bit), Compressed TAR Archive 安装libaio、numactl(非必须,如果在初始化mysq...
+关注继续查看

准备
安装包(必须):
Linux - Generic (glibc 2.12) (x86, 64-bit), Compressed TAR Archive
安装libaio、numactl(非必须,如果在初始化mysql的时候报错就需要安装):

yum的两种安装方式:

yum search libaio  # search for info
yum search numactl
yum install libaio # install library
yum install numactl

APT-based安装方式:

apt-cache search libaio # search for info
apt-cache search numactl
apt-get install libaio # install library
apt-get install numactl

在linux上添加mysql用户组以及用户

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

*解压mysql到指定目录

        这里笔者放到了/usr/local/mysql/
sudo tar zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz

重命名

sudo mv mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz mysql-5.7.21-3306

简单说一下笔者数据库目录规划

文件类型    实例3306
数据datadir:/usr/local/mysql/mysql-5.7.21-3306/data
参数文件my.cnf:/usr/local/mysql/mysql-5.7.21-3306/etc/my.cnf    
错误日志log-error:/usr/local/mysql/mysql-5.7.21-3306/log/mysql_error.log    
二进制日志log-bin:/usr/local/mysql/mysql-5.7.21-3306/binlogs/mysql-bin   
慢查询日志slow_query_log_file:/usr/local/mysql/mysql-5.7.21-3306/log/mysql_slow_query.log    
套接字socket文件:/usr/local/mysql/mysql-5.7.21-3306/run/mysql.sock   
pid文件:/usr/local/mysql/mysql-5.7.21-3306/run/mysql.pid

所以,我会在mysql-5.7.21-3306目录下创建run、etc、log、binlogs目录,并且赋予权限;

cd mysql-5.7.21-3306
sudo mkdir {run,etc,log,binlogs}
sudo chown -R mysql:mysql {run,etc,log,binlogs}

然后vim在目录下的etc中编辑my.cnf,my.cnf的配置不只是这些,我只配置了我需要的,具体的大家可以自己去好好了解下;

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

[mysqld]
port = 3306
socket = /usr/local/mysql/mysql-5.7.21-3306/run/mysql.sock
pid_file = /usr/local/mysql/mysql-5.7.21-3306/run/mysql.pid
datadir = /usr/local/mysql/mysql-5.7.21-3306/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 = 128M
innodb_log_file_size = 128M
innodb_file_per_table = 1
innodb_flush_log_at_trx_commit = 0


key_buffer_size = 64M

log-error = /usr/local/mysql/mysql-5.7.21-3306/log/mysql_error.log
log-bin = /usr/local/mysql/mysql-5.7.21-3306/binlogs/mysql-bin
slow_query_log = 1
slow_query_log_file = /usr/local/mysql/mysql-5.7.21-3306/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

然后我们通过编辑好的my.cnf初始化mysql

sudo /usr/local/mysql/mysql-5.7.21-3306/bin/mysqld --defaults-file=/usr/local/mysql/mysql-5.7.21-3306/etc/my.cnf --basedir=/usr/local/mysql/mysql-5.7.21-3306 --datadir=/usr/local/mysql/mysql-5.7.21-3306/data --user=mysql --initialize

然后通过my.cnf启动服务

/usr/local/mysql/mysql-5.7.21-3306/bin/mysqld_safe  --defaults-file=/usr/local/mysql/mysql-5.7.21-3306/etc/my.cnf &

这里写图片描述

再查看下端口:

netstat -anp | grep 3306

这里写图片描述

ok,mysql服务已经跑起来了,如果是多实例的话,其实也差不多,大家把端口号改一下,其他步骤重新来一边,ok了;
那么,服务起来了,我们没设置密码,怎么登陆呢?

开始登陆mysql

原来为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error_log中。笔者这里的事例的话,文件为
/usr/local/mysql/mysql-5.7.21-3306/log/mysql_error.log

使用vim打开查看:

sudo vim /usr/local/mysql/mysql-5.7.21-3306/log/mysql_error.log

这里写图片描述

显示vim行号,第八行

2018-03-26T09:47:13.104037Z 1 [Note] A temporary password is generated for root@localhost: Y3Y)#dEYc(ZN

这里的

Y3Y)#dEYc(ZN

就是我们的启动密码

使用sock方式登录mysql

/usr/local/mysql/mysql-5.7.21-3306/bin/mysql -uroot -S /usr/local/mysql/mysql-5.7.21-3306/run/mysql.sock -p

这里写图片描述

okok,登录成功!

好了,如果我们想修改登录密码的话,传送门:
[mysql]MySQL修改账号密码的3种方法

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
CentOS7 64位下MySQL5.7安装与配置(YUM)
CentOS7 64位下MySQL5.7安装与配置(YUM)http://www.bieryun.com/3277.html 1、配置YUM源 在MySQL官网中下载YUM源rpm安装包:http://dev.
1292 0
Centos7 安装Mysql5.7
Centos7 安装Mysql5.7
69 0
二进制数据 + MySQL + PHP 怎样在Mysql中直接储存图片
作者: Florian Dittmer 翻译:netmad    如果你想把二进制的数据,比如说图片文件和HTML文件,直接保存在你的MySQL数据库,那么这篇文章就是为你而写的!我将告诉你怎样通过HTML表单来储存这些文件,怎样访问和使用这些文件。
879 0
+关注
luckcheng
csdn博客:luck-cheng.github.io github:www.github.com/luck-cheng
126
文章
1
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载