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专业安装的更多相关文章

  1. Day2 MySql函数以及单表查询

    SQL中的运算符 算术运算符 --算术运算符(子句) ; ; ; ; --0.75 ; --NULL div ; 比较运算符> < >= <= != = --0表示false, ...

  2. day-2 jmeter 操作mysql数据库

    1)  导入jdbc的jar包,因为jmeter本身不能直接连接mysql,所以需要导入第三方的jar包,来连接mysql 2)       创建数据库连接配置,mysql的url.端口号.账号.密码 ...

  3. python学习之老男孩python全栈第九期_数据库day002知识点总结 —— MySQL数据库day2(全部)

    一. 复习1. MySQL: - 服务端 - 客户端2. 通信交流 - 授权 - SQL语句 - 数据库 创建数据库: create database db1 default charset utf8 ...

  4. Mysql的学习随笔day2

    关于输入中文的问题,各种更改完utf8后仍然乱码. 最后找到一种可行的方法:在insert之前,输入 set names 'gbk' 约束保证数据的完整性和一致性.约束分为表级约束和列级约束,前者可以 ...

  5. Mysql进阶-day2

    Mysql cmake方式安装 1.卸载原有mysql下载MySQL安装包 [root@localhost ~]# yum remove mysql* -y [root@localhost ~]# m ...

  6. mysql高级day2

    Mysql高级-day02 1. Mysql的体系结构概览 整个MySQL Server由以下组成 Connection Pool : 连接池组件 Management Services & ...

  7. MySQL数据库学习打卡 DAY2

    今天学习了MySQL的DML操作,完成了关于增删改查所有基本内容的学习.

  8. Mysql入门学习day2随笔2

    事务 什么是事务 要么都成功,要么都失败 事务原则 原子性:针对一个事务,两个步骤一起成功或一起失败 一致性:最终一致性,例如A.B之间的转账,无论两个账户如何操作,两账户的总价值不会变 隔离性:针对 ...

  9. Mysql数据库-DAY2

    查找 Select 字段(全部查找为*)from 表 增加 Insert into 字段(全部增加为表) values(需要增加的内容,用'','隔开') 删除 Delete from 表 where ...

  10. Mysql学习day2随笔

    --jion on 连接查询 --jion where 等值查询 建议先用jion on再用where过滤 --inner jion 返回交集 --left join 无论右表是否匹配,都会从左表返回 ...

随机推荐

  1. "《算法导论》之‘线性表’":双向循环链表

    本文双链表介绍部分参考自博文数组.单链表和双链表介绍 以及 双向链表的C/C++/Java实现. 1 双链表介绍 双向链表(双链表)是链表的一种.和单链表一样,双链表也是由节点组成,它的每个数据结点中 ...

  2. Shell Script - 追踪与debug

    [root@www ~]# sh [-nvx] scripts.sh 选项与参数: -n :不要运行 script,仅查询语法的问题: -v :再运行 sccript 前,先将 scripts 的内容 ...

  3. 在linux下搭建STM32工程

    转载自康神博客:http://blog.csdn.net/u013298300/article/details/50243935 在LINUX下开始一个STM32工程 在LINUX下开始一个STM32 ...

  4. 恶补web之七:html DOM知识

    html DOM定义了访问和操作html文档的标准;dom是w3c的标准,dom定义了访问html和xml文档的标准: w3c文档对象模型(dom)是中立平台和语言的接口,它允许程序和脚本动态访问和更 ...

  5. CF959F

    题目大意:给定n个数,有Q次询问,每次询问由两个数l,x组成,表示前缀[1,l]构成的子序列有多少异或起来为x,个数%1e9+7 做法:考虑一个由x个数构成的线性基,如果这个线性基由Y个数构成,可以通 ...

  6. 鹅厂优文|打通小程序音视频和webRTC

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 作者:腾讯视频云终端技术总监常青, 2008 年毕业加入腾讯,一直从事客户端研发相关工作,先后参与过 PC QQ.手机QQ.QQ物联 等产品 ...

  7. 收藏 - android

    收藏 - android开发 2018-05-04 16:39:36 介绍:这篇文章是收藏系列的开山第一篇,主要收藏了跟android开发有关的一些内容,也算是内容汇总,后期会持续更新: 内容目录 1 ...

  8. YUV420格式解析

    一般的的YUV420图像格式实际上是Y'UV,420指的是其在Y U V上面的采样率.在YUV420的格式中,首先存储每一个像素的Y'值,然后跟着存储的是每2*2方阵采样一次的U值,最后存储的是每2* ...

  9. 前端Mahsup异步依赖方式不能做业务数据依赖

    很久之前流行mashup方式做内容集成,之前为了IP定位的方便,引用了第三方的IP定位JS,然后根据其内容与服务器同步地址数据并写入Cookie,可是这种方式一旦,第三方的库反应缓慢时,就会出现大问题 ...

  10. java.lang.SecurityException: Can't make field constructor accessible

    原本使用GsonConvertor,在Android版本5.1.1上没有任何问题,结果切换到版本6.0.1上,出现以下所示问题: java.lang.IllegalArgumentException: ...