CentOS release 6.6 安装MySQL 5.6.15

MySQL 简介

  • 安装后目录结构

    • mysql.exe:客户端

    • mysqld.exe:服务器

    • my.ini:总配置文件

  • 在windows下开户和关闭mysql服务器

    • net start mysql

    • net stop mysql

  • 登录和退出mysql客户端

    • mysql -u用户名 -p密码 -hIP

    • exit或quit

 

                                             SQL

  • 解释:结构化查询语言

  • ISO:国际标准化组织

  • ISO定义了很多SQL标准,例如:SQL99

  • 各个数据库厂商需要遵循这个标签!但各个厂商也有自己的方言

  • SQL的分类

    • DDL:数据定义语言

    • DML:数据操作语言

    • DCL:数据控制语言

    • DQL(不在标准中):数据查询语言

DDL:数据定义语言

  • 数据库的操作

    • create database

    • show databases

    • use mydb1

    • alter database

    • drop database

 

  • 表的操作

    • create table

    • show tables

    • desc mytable1

    • drop table

    • alter table

      • add

      • modify

      • change

      • drop

      • rename to

DML:数据操作语言

  • 插入记录

  • 修改记录

  • 删除记录

    • delete

    • truncat

DCL:数据控制语言

  • 创建用户

  • 授权

  • 撤消权限

  • 查看权限

  • 删除用户

DQL:数据查询语言

  • 基本查询

    • 查看整张表

      • select * from 表名

    • 列控制

      • 列运算:select sal * 1.5 from emp

      • 列运算:连接字符串:select concat(‘我的名称是’, ename) from emp

      • 处理NULL值:select sal + IFNULL(comm, 0) from emp

      • select ename 姓名 from emp

      • 去除完全重复的行:select distinct comm from emp

  • 条件查询

    • 模糊查询

      • 下划线

      • 百分号

  • 排序

    • 降序:desc

    • 升序:asc

  • 聚合函数

    • 数量:count

    • 求最小值:min

    • 求最大值:max

    • 求和:sum

    • 求平均:avg

  • 分组

    • group by

    • having

    • limit

约束

  • 约束保证数据的完整性和一致性

  • 约束分为表级约束和列级约束

    • 对一个数据列建立的约束,列级约束

    • 对多个数据列建立的约束,表级约束

  • 约束类型包括:

    • NOT NULL

    • PRIMARY KEY

    • UNIQUE KEY

    • DEFAULT

    • FOREIGN KEY

中文无法插入解决办法

  • dos 下不支持直接使用utf8;

  • set names gbk,再插入即可。

连接类型

  • 内连接

    • 显示左表及右表符合连接条件的记录

  • 左外连接

    • 显示左表的全部记录及右表符合连接条件的记录

  • 右外连接

    • 显示右表的全部记录及左表符合连接条件的记录

  • 自身连接

    • 同一个数据表对其自身进行连接

 

MySQL常见的扩展方式Scale Up、Scale Out。

MySQL数据库的切分:垂直切分:分库、水平切分:分表。

MySQL存储引擎之InnoDB、MyISAM引擎。

数据库定义了存储信息的结构。以表的方式存储信息。

索引:将表中的某一个或某些字段抽取出来,单独将其组织一个独特的数据结构中,类似一本书的目录;

 

数据库的概述

  • DBMS:关系型数据库管理系统

    • 库管+N个仓库

  • 常见的数据库管理系统

    • MySQL

    • Orcale

    • DB2

    • SQL Server

    • Sybase

常用存储引擎介绍;
  • MyISAM :不支持事务;表级锁,崩溃后不保证安全恢复
  • MyISAM :Aria:增强版,崩溃后可以修复
  • InnoDB :XtraDB 支持 行级锁,外键,热备

MySQL属于关系型数据库,关系型数据库以行和列的形式存储数据,以便于用户理解。这一系列的行和列被称为表,一组表组成了数据库。用户用查询(Query)来检索数据库中的数据。一个Query是一个用于指定数据库中行和列的SELECT语句

 

在数据库的应用方面,一般又分为两种角色:
  • 一种是应用开发者,在公司里一般被称为“服务器工程师”或“web开发工程师”
  • 一种是数据库管理者,在公司一般被称为“DBA”(DataBase Administrator)或“运维;
数据库的使用方面分为三个层次
  1. 数据库的基本使用
  2. 利用面向对象的思维使用数据库
  3. 在项目中应用分布式数据库

 

MySQL复制环境

d8044e4367344e91bed3eace9798e2c7aea.jpg

MySQL复制种类  : 

1、标准异步复制

异步复制意味着事务完全在本地环境中完成,并且不受复制从属本身的影响。完成更改后,主服务器将使用数据修改或实际语句(基于行的复制或基于语句的复制之间的差异会在之后讲)填充二进制日志。此转储线程读取二进制日志并将其发送到从IO线程。从站使用其IO线程将其置于自己的预处理队列(称为中继日志)中。从站使用SQL线程执行从站数据库上的每个更改。

f077b258c678639bb2e0eae23b4f2d0fa25.jpg

2、半同步复制

半同步复制意味着从设备和主设备相互通信以保证事务的正确传输。主设备仅填充binlog并继续其会话,其中一个从设备确认事务已正确放置在从设备的中继日志中。

半同步复制可确保正确复制事务,但不保证实际发生从设备上的提交。

b95ef2d5a536ae464cbeae3a07642ab79c5.jpg

需要注意的是,半同步复制可确保主服务器等待继续处理特定会话中的事务,直到至少有一个从服务器确认接收到事务(或达到超时)。这与异步复制不同,因为半同步允许额外的数据完整性。

请记住,半同步复制会影响性能,因为它需要等待来自从站的实际ACK的往返。

 

3、组复制

这是MySQL Community Edition 5.7中引入的新概念,并且在MySQL 5.7.17中进行了GA。这是一个用于虚拟同步复制的新插件。

每当在节点上执行事务时,插件都会尝试与其他节点达成共识,然后再将其返回给客户端。 虽然与标准MySQL复制相比,该解决方案是完全不同的概念,但它基于使用binlog生成和处理日志事件。

以下是组复制的示例体系结构。

9acc17dd0acda2837c2dd28f847e3aa6701.jpg

 

注意   :  

标准异步复制不是同步集群。请记住,标准和半同步复制不保证环境服务于同一数据集。使用Percona XtraDB Cluster时,每个服务器实际上需要分别处理每个更改。如果不是,则从群集中删除受影响的节点。异步复制不具有此故障安全性,在不一致的情况下,仍然可以接受读操作。

从理论上讲,环境应具有可比性。但是,有许多参数会影响数据传输的效率和一致性。只要使用异步复制,就无法保证事务正确发生。使用者可以通过增强配置的持久性来避免这种情况,但这会带来性能损失。

使用pt - table - checksum工具验证主服务器和从服务器的一致性 。

有复制就不需要备份了

 

MySQL的事务

请求<-->响应 的处理过程

多个操作被当做一个整体对待,要想看一个关系型管理数据库系统是否支持事务就要看关系型数据库系统是否满足ACID测试

  • ACID 事务的一个基本标准
    • A:原子性
    • C:一致性
    • I:隔离性
    • D:持久性

SQL语句对数据库管理常用的两种方式:

  • DDL:数据定义语言-主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用,创建表的时候有问题看这里
    • CREATE: 创建
    • ALTER:改变
    • DROP: 删除
    • SHOW: 显示
  • DML:数据操纵语言-这4条命令是用来对数据库里的数据进行操作的语言,修改表的时候有问题看这里
    • INSERT: 添加
    • DELETE: 删除
    • SELECT: 选择
    • UPDATE: 修改
这里通配符有两个需要注意:
  • %:任意长度的任意字符;
  • _:任意单个字符;

MySQL与MariaDB

MariaDB属于插件式存储引擎(存储引擎也称为“表类型”;):存储管理器有多种实现版本,彼此间的功能和特性可能略有区别;用户可根据需要灵活选择;

MySQL优点有:
1.综合统一
2.高度非过程化
3.面向集合的操作方式
4.以一种语法结构提供多种使用方式
5.语言简洁,易学易用

MySQL 安装

本教程的系统平台:CentOS release 6.6 (Final) 64位。

一、安装编译工具及库文件

[root@localhost ~]# cd /usr/local/src
 

yum -y install gcc gcc-c++ make autoconf libtool-ltdl-devel gd-devel freetype-devel libxml2-devel libjpeg-devel libpng-devel openssl-devel curl-devel bison patch unzip libmcrypt-devel libmhash-devel ncurses-devel sudo bzip2 flex libaio-devel

二、 安装cmake 编译器

cmake 版本:cmake-3.1.1。

1、下载地址:http://www.cmake.org/files/v3.1/cmake-3.1.1.tar.gz

$ wget http://www.cmake.org/files/v3.1/cmake-3.1.1.tar.gz

mysql1

2、解压安装包

$ tar zxvf cmake-3.1.1.tar.gz

3、进入安装包目录

$ cd cmake-3.1.1

4、编译安装 

$ ./bootstrap
$ make && make install

三、安装 MySQL

MySQL版本:mysql-5.6.15。

1、下载地址: http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15.tar.gz

$ wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15.tar.gz

mysql2

2、解压安装包

$ tar zxvf mysql-5.6.15.tar.gz

3、进入安装包目录

$ cd mysql-5.6.15

4、编译安装 

$ cmake -DCMAKE_INSTALL_PREFIX=/usr/local/webserver/mysql/ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_INNODB_MEMCACHED=1 -DWITH_DEBUG=OFF -DWITH_ZLIB=bundled -DENABLED_LOCAL_INFILE=1 -DENABLED_PROFILING=ON -DMYSQL_MAINTAINER_MODE=OFF -DMYSQL_DATADIR=/usr/local/webserver/mysql/data -DMYSQL_TCP_PORT=3306
$ make && make install

5、查看mysql版本:

$ /usr/local/webserver/mysql/bin/mysql --version

082d593c85d1c61b44c0c7c2576fe4281ed.jpg

到此,mysql安装完成。

MySQL 配置

1、创建mysql运行使用的用户mysql:

$ /usr/sbin/groupadd mysql
$ /usr/sbin/useradd -g mysql mysql

2、创建binlog和库的存储路径并赋予mysql用户权限

$ mkdir -p /usr/local/webserver/mysql/binlog /www/data_mysql
$ chown mysql.mysql /usr/local/webserver/mysql/binlog/ /www/data_mysql/

3、创建my.cnf配置文件

将/etc/my.cnf替换为下面内容

$ cat /etc/my.cnf

[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
replicate-ignore-db = mysql
replicate-ignore-db = test
replicate-ignore-db = information_schema
user = mysql
port = 3306
socket = /tmp/mysql.sock
basedir = /usr/local/webserver/mysql
datadir = /www/data_mysql
log-error = /usr/local/webserver/mysql/mysql_error.log
pid-file = /usr/local/webserver/mysql/mysql.pid
open_files_limit = 65535
back_log = 600
max_connections = 5000
max_connect_errors = 1000
table_open_cache = 1024
external-locking = FALSE
max_allowed_packet = 32M
sort_buffer_size = 1M
join_buffer_size = 1M
thread_cache_size = 600
#thread_concurrency = 8
query_cache_size = 128M
query_cache_limit = 2M
query_cache_min_res_unit = 2k
default-storage-engine = MyISAM
default-tmp-storage-engine=MYISAM
thread_stack = 192K
transaction_isolation = READ-COMMITTED
tmp_table_size = 128M
max_heap_table_size = 128M
log-slave-updates
log-bin = /usr/local/webserver/mysql/binlog/binlog
binlog-do-db=oa_fb
binlog-ignore-db=mysql
binlog_cache_size = 4M
binlog_format = MIXED
max_binlog_cache_size = 8M
max_binlog_size = 1G
relay-log-index = /usr/local/webserver/mysql/relaylog/relaylog
relay-log-info-file = /usr/local/webserver/mysql/relaylog/relaylog
relay-log = /usr/local/webserver/mysql/relaylog/relaylog
expire_logs_days = 10
key_buffer_size = 256M
read_buffer_size = 1M
read_rnd_buffer_size = 16M
bulk_insert_buffer_size = 64M
myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
myisam_recover
interactive_timeout = 120
wait_timeout = 120
skip-name-resolve
#master-connect-retry = 10
slave-skip-errors = 1032,1062,126,1114,1146,1048,1396
#master-host = 192.168.1.2
#master-user = username
#master-password = password
#master-port = 3306
server-id = 1
loose-innodb-trx=0 
loose-innodb-locks=0 
loose-innodb-lock-waits=0 
loose-innodb-cmp=0 
loose-innodb-cmp-per-index=0
loose-innodb-cmp-per-index-reset=0
loose-innodb-cmp-reset=0 
loose-innodb-cmpmem=0 
loose-innodb-cmpmem-reset=0 
loose-innodb-buffer-page=0 
loose-innodb-buffer-page-lru=0 
loose-innodb-buffer-pool-stats=0 
loose-innodb-metrics=0 
loose-innodb-ft-default-stopword=0 
loose-innodb-ft-inserted=0 
loose-innodb-ft-deleted=0 
loose-innodb-ft-being-deleted=0 
loose-innodb-ft-config=0 
loose-innodb-ft-index-cache=0 
loose-innodb-ft-index-table=0 
loose-innodb-sys-tables=0 
loose-innodb-sys-tablestats=0 
loose-innodb-sys-indexes=0 
loose-innodb-sys-columns=0 
loose-innodb-sys-fields=0 
loose-innodb-sys-foreign=0 
loose-innodb-sys-foreign-cols=0

slow_query_log_file=/usr/local/webserver/mysql/mysql_slow.log
long_query_time = 1
[mysqldump]
quick
max_allowed_packet = 32M

4、初始化数据库

$/usr/local/webserver/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf  --user=mysql

显示如下信息:

Installing MySQL system tables...2015-01-26 20:18:51 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
OK

Filling help tables...2015-01-26 20:18:57 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
OK
...

5、创建开机启动脚本

$ cd /usr/local/webserver/mysql/
$ cp support-files/mysql.server /etc/rc.d/init.d/mysqld 
$ chkconfig --add mysqld 
$ chkconfig --level 35 mysqld on

6、启动mysql服务器

$ service mysqld start

mysql4

7、连接 MySQL

$ /usr/local/webserver/mysql/bin/mysql -u root -p

mysql5

修改MySQL用户密码

mysqladmin -u用户名 -p旧密码 password 新密码

或进入mysql命令行

SET PASSWORD FOR '用户名'@'主机' = PASSWORD(‘密码');

创建新用户并授权:

grant all privileges on *.* to 用户名@'%' identified by '密码' with grant option;

其他命令

  • 启动:service mysqld start
  • 停止:service mysqld stop
  • 重启:service mysqld restart
  • 重载配置:service mysqld reload

 

启动MySQL服务器程序,确认状态

1)启动MySQL服务程序

启动服务并查看状态:

[root@dbsvr1 pub]# service mysql start
Starting MySQL...                                     [确定]
[root@dbsvr1 pub]# service mysql status
MySQL running (31724)                                 [确定]

服务器进程为mysqld,监听的默认端口为TCP 3306:

[root@dbsvr1 pub]# netstat -anpt | grep mysql
tcp        0      0 :::3306        :::*       LISTEN      31724/mysqld

2)查看MySQL服务器进程、运行用户

提供连接服务的进程为mysqld,由其父进程mysqld_safe启动。

[root@dbsvr1 pub]# ps -elf | grep mysqld

4 S root     31619     1  0  80   0 -  2834 wait   15:14 pts/0    00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid file=/var/lib/mysql/dbsvr1.tarena.com.pid

4 S mysql    31724 31619  0  80   0 - 252496 poll_s 15:14 pts/0   00:00:01 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/lib/mysql/dbsvr1.tarena.com.err --pid-file=/var/lib/mysql/dbsvr1.tarena.com.pid

数据库的默认存放位置为 /var/lib/mysql:

[root@dbsvr1 pub]# ls /var/lib/mysql/
auto.cnf               ibdata1      mysql               RPM_UPGRADE_HISTORY
dbsvr1.tarena.com.err  ib_logfile0  mysql.sock          RPM_UPGRADE_MARKER-LAST
dbsvr1.tarena.com.pid  ib_logfile1  performance_schema  test

 

参考链接  : 

百度百科 :https://mbd.baidu.com/newspage/data/landingsuper?context=%7B%22nid%22%3A%22news_9326379813681396417%22%7D&n_type=1&p_from=4

 

 

 

转载于:https://my.oschina.net/u/3803405/blog/1819774

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
mysql-5.6.25.tar 包含两个文件: - mysql-5.6.25.tar.gz Generic Linux (Architecture Independent), Compressed TAR Archive MD5: 37664399c91021abe070faa700ecd0ed -install.txt: 安装方法 首先解压mysql-5.6.25.tar: $ tar xf mysql-5.6.25.tar ------------------ Mysql 源码安装操作: 1. 创建用户 # groupadd mysql # useradd -g -r mysql mysql 2. 解压缩tar包 # tar xf mysql-5.6.25.tar.gz # cd mysql-5.6.25 3. 编译安装 # cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ > -DDEFAULT_CHARSET=gbk \ > -DDEFAULT_COLLATION=gbk_chinese_ci \ > -DENABLED_LOCAL_INFILE=ON \ > -DWITH_INNOBASE_STORAGE_ENGINE=1 \ > -DWITH_FEDERATED_STORAGE_ENGINE=1 \ > -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ > -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \ > -DWITH_DEBUG=0 \ > -DMYSQL_TCP_PORT=3306 # make # make install 4. 配置以及初始化MySQL # cd /usr/local/mysql 4.1 设置MySQL安装目录的权限 # chown -R mysql:mysql /usr/local/mysql 4.2 初始化MySQL # scripts/mysql_install_db --user=mysql # cp support-files/mysql.server /etc/init.d/mysqld 4.3 重新设置MySQL安装目录的权限(除data目录外,其余所有目录及文件均修改用户为root,组不变) # chown -R root . # chown -R mysql data 4.4 启动mysql_safe # bin/mysqld_safe --user=mysql & 4.5 设置MySQL的root帐号密码 - 自动设置:# ./bin/mysql_secure_installation 或 - 手动置:# ./bin/mysqladmin -u root password '' ------------------ 操作详情参看: https://github.com/Marslo/MyBlog/blob/master/Programming/MySQL/MySQLInstallationBySourceCode.md MySQL6源码安装官方手册: http://dev.mysql.com/doc/refman/5.6/en/installing-source-distribution.html ------------------ 资源为英文,下载请谨慎
安装CentOS 6.6,你可以通过以下步骤进行操作: 1. 首先,你可以使用这个链接来下载CentOS 6.6的ISO镜像文件:。你也可以选择使用VMware Workstation虚拟机来安装CentOS 6.6。你可以从官网上下载适合你操作系统的VMware Workstation版本。 2. 下载完成后,你可以使用VMware Workstation来创建一个新的虚拟机。 3. 在创建虚拟机时,选择“典型”安装类型,并在操作系统选项中选择“Linux”,然后选择“CentOS 6”作为操作系统版本。 4. 接下来,为虚拟机指定硬件配置,例如内存大小和硬盘容量。 5. 在虚拟机配置完成后,你可以选择使用刚刚下载的CentOS 6.6的ISO镜像文件作为安装介质。在安装过程中,你需要按照向导的指示进行操作,例如选择安装语言、键盘布局等。 6. 在安装类型中,选择“基本服务器”或“桌面”安装类型,根据你的需要进行选择。 7. 完成安装后,你可以设置用户名和密码,以及其他系统配置。 8. 最后,重新启动虚拟机,并登录到CentOS 6.6系统中。 通过上述步骤,你就可以成功安装CentOS 6.6。祝你成功!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [CentOS 6.6版本的安装](https://blog.csdn.net/qq_45751154/article/details/114271423)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [(详解)CentOS 6.6安装教程](https://blog.csdn.net/qq_40563761/article/details/101305858)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值