DAY2-MySQL专业安装
MySQL安装
安装方法:
1.源码
2.二进制 (建议使用)
3.rpm (尽量不用)
一、下载MySQL:
一定要从官网下载,防止被勒索。
官网: http://dev/mysql.com
版本:
GA(生产用)
DMR
RC
Beta
下载步骤:


建议:每次发新版本时候,到官网看看 Change History,修复的bug和新特性是否需要,考虑是否升级。
检查安装包是否可用:查看安装包的md5值和官网是否一致。
md5sum mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
也可以直接在操作系统:
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
二、Linux环境检查
1.关闭numa
2.限制设置/etc/security/limits.conf & 网络优化
3.Swap
4.IO调度
5.文件系统
6.selinux & iptables
推荐吴老师的博客:
http://wubx.net/21ways-optimize-mysql/
三、MySQL准备
二进制安装方式:
1.创建账户(mysql:mysql /sbin/nologin)
groupadd mysql
useradd -g mysql -s /sbin/nologin -d /usr/local/mysql -MN mysql
2.软件的基本安装
mkdir -p /opt/mysql
cd /opt/mysql/
tar zxvf mysql-5.7xxxx.tar.gz
chown -R mysql:mysql mysql-5.7xxxx
cd /usr/local/
ln -s /opt/mysql/mysql-5.7xxxx /usr/local/mysql (链接为了升级方便)
检查mysqld命令是否可用
ldd /usr/local/mysql/bin/mysqld
3.数据库目录创建
mkdir -p /data/mysql/mysql3306/{data,logs,tmp}
chown -R mysql:mysql /data/mysql
4.配置文件准备
cd /data/mysql/mysql3306
vi my3306.cnf
5.初始化MySQL
/usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/mysql3306/my3306.cnf --initialize
echo $?
loose_ (如果不识别,不生效)
配置文件加user,所以初始化不用加user
密码在error.log里面
6.检查error log初始化是不是正常
7.启动
自启动: cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld ; /etc/init.d/mysqld start ;chkconfig mysqld on
建议启动方式: /usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/mysql3306/my3306.cnf &
8.登陆
mysql -S /tmp/mysql3306.sock -p
9.改root密码
alter user user() identified by 'admin';
10.停止
命令行: shutdown (5.7以后)
mysqladmin -S /tmp/mysql3306.sock -p shutdown
多实例安装:
mkdir -p /data/mysql3307/{data,logs,tmp}
chown -R mysql:mysql /data/mysql/mysql3307
cp /data/mysql3306/mysql3306.cnf /data/mysql/mysql3307/my3307.cnf
sed -i 's/3306/3307/g' /data/mysql/mysql3307/my3307.cnf
/usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/mysql3307/my3307.cnf --initialize
账号安全加固:(5.6及以前)
1.删除非root,非localhost用户。
delete from mysql.user where user!='root' or host!='localhost';
2.清空mysql.db表。
truncate mysql.db
3.删除test库。
drop database test;
启动查找my.cnf
跟踪启动过程:strace /usr/local/mysql/bin/mysqld 2>&1 |tee start.log ; /my.cnf
mysql --help |grep my.cnf
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
mysqld --verbose --help > t.log
vi t.log ;/defaults-file
TIPS:
没有mysql命令:
echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile
反解析错误代码:
/usr/local/mysql/bin/perror 11
查看端口是否被占用:
lsof -i :3306
netstat -apn|grep 3306
ss -nltp
cat /proc/$pid/cmdline
查看运行级别:
runlevel
who -r
查看谁在该主机:
w
将远程登陆踢掉:
pkill -kill -t pts/1
ps -axu | grep pts ; kill -9 $pid
给远程用户发消息:
echo "who are you?" > /dev/pts/1
命令行格式:
man mysql ;/prompt
vim ~/.my.cnf
[mysql]
prompt="\\u@\\h:\\p [\\d]>"
#pager="less -i -n -S"
#tee=/opt/mysql/query.log
no-auto-rehash
server: mysqld
client: mysql
DAY2-MySQL专业安装的更多相关文章
- Day2 MySql函数以及单表查询
SQL中的运算符 算术运算符 --算术运算符(子句) ; ; ; ; --0.75 ; --NULL div ; 比较运算符> < >= <= != = --0表示false, ...
- day-2 jmeter 操作mysql数据库
1) 导入jdbc的jar包,因为jmeter本身不能直接连接mysql,所以需要导入第三方的jar包,来连接mysql 2) 创建数据库连接配置,mysql的url.端口号.账号.密码 ...
- python学习之老男孩python全栈第九期_数据库day002知识点总结 —— MySQL数据库day2(全部)
一. 复习1. MySQL: - 服务端 - 客户端2. 通信交流 - 授权 - SQL语句 - 数据库 创建数据库: create database db1 default charset utf8 ...
- Mysql的学习随笔day2
关于输入中文的问题,各种更改完utf8后仍然乱码. 最后找到一种可行的方法:在insert之前,输入 set names 'gbk' 约束保证数据的完整性和一致性.约束分为表级约束和列级约束,前者可以 ...
- Mysql进阶-day2
Mysql cmake方式安装 1.卸载原有mysql下载MySQL安装包 [root@localhost ~]# yum remove mysql* -y [root@localhost ~]# m ...
- mysql高级day2
Mysql高级-day02 1. Mysql的体系结构概览 整个MySQL Server由以下组成 Connection Pool : 连接池组件 Management Services & ...
- MySQL数据库学习打卡 DAY2
今天学习了MySQL的DML操作,完成了关于增删改查所有基本内容的学习.
- Mysql入门学习day2随笔2
事务 什么是事务 要么都成功,要么都失败 事务原则 原子性:针对一个事务,两个步骤一起成功或一起失败 一致性:最终一致性,例如A.B之间的转账,无论两个账户如何操作,两账户的总价值不会变 隔离性:针对 ...
- Mysql数据库-DAY2
查找 Select 字段(全部查找为*)from 表 增加 Insert into 字段(全部增加为表) values(需要增加的内容,用'','隔开') 删除 Delete from 表 where ...
- Mysql学习day2随笔
--jion on 连接查询 --jion where 等值查询 建议先用jion on再用where过滤 --inner jion 返回交集 --left join 无论右表是否匹配,都会从左表返回 ...
随机推荐
- C++之默认参数
C++可以为不指定参数提供默认值.一旦给一个参数赋了默认值,后面的所有参数,也都必须为默认值,并且默认值的类型也必须正确,默认值可以在原型或者函数定义中给出,但是不能两个位置同时给出. 接下来我们上代 ...
- 使用Android Studio手把手教你将应用打包+代码混淆
最近几天用Google的Design库写了个App,使用Android Studio将app打包时遇到的几个瓶颈,所以把详细步骤写入下来. AS中怎么获取应用签名 这和eclipse不同,eclips ...
- PS 图像调整算法——色调分离
色调分离的原理就是将R, G, B每个通道 0-255 的色调区间进行强制划分到给定的区间里去,所以色调会合并,最终的图像看起来颜色就是一块一块的. clc; clear all; close all ...
- mybatis源码之BaseStatementHandler
/** * @author Clinton Begin */ public abstract class BaseStatementHandler implements StatementHandle ...
- PS 滤镜算法原理——照亮边缘
这个算法原理很简单,对彩色图像的R,G,B 三个通道,分别求梯度,然后将梯度值作为三个通道的值. clc; clear all;Image=imread('4.jpg');Image=double(I ...
- Android逆向分析(2) APK的打包与安装背后的故事
前言 上一次我们反编译了手Q,并遇到了Apktool反编译直接crash的问题,虽然笔者很想在这次解决这个问题,但在解决途中,发现该保护依赖于很多知识,所以本次先插入一下,正所谓知其然知其所以然,授之 ...
- java的finalize方法使用
1. finalize的作用 finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清理工作,GC在回收对象之前调用该方法. finalize()与C++中的析构函数 ...
- 怎么分别javascript写在<head>里还是<body>里面?
怎么分别javascript写在<head>里还是<body>里面? 具体哪些语句写在<body>里,哪些语句写在<head>里 满意答案 BeginN ...
- DELETE_FAILED_INTERNAL_ERROR Error while Installing APK
真是Android2.3的特殊版本问题,问题原因是android2.3的instant run的测试版安装方式有所特别,解决办法有2: 1.手动adb install 安装包 2.把Instant r ...
- stm8开发环境
网上大致有两种环境: 1.stvp+stvd 也就是st自家的sttoolsetpack包 stvd的界面有点古板,有点像vc++6.0,具体使用感觉怎样我也不知道,我没有使用这个环境. stvp这个 ...