CentOS6CentOS
bitsCN.comCentos6.0 64位MySQL 5.6.11 CMake安装部署
一、下载所需软件
linux用 wget 下载需要的软件,保存到目录 /usr/local/src 下
wget ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.6/mysql-5.6.11.tar.gz
wget http://www.cmake.org/files/v2.8/cmake-2.8.7.tar.gz
mysql 最新的版本都需要cmake编译安装,估计以后的版本也会采用这种方式,所以特地记录一下安装步骤及过程,以供参考。
注意:此安装是默认centos下已经安装了最新工具包,比如GNU make, GCC, Perl, ncurses(其它版本linux安装libncurses5-dev),如果在编译安装过程中发现有缺失的工具包,先yum install 单独下载安装再继续即可。
以下安装中涉及的几点需要提前说明的问题:
1. 所有下载的文件将保存在 /usr/local/src/ 目录下
2. mysql 将以mysql用户运行,而且将加入 service 开机自动运行
3. mysql 将被安装在 /usr/local/mysql/ 目录下
4. mysql 默认安装使用 utf8 字符集
5. mysql 的数据和日志文件保存在 /usr/local/mysql/ 对应目录下
6. mysql 的配置文件保存于/etc//my.cnf
yum -y install gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make vim bison
yum –y install vim
yum –y install gcc
yum –y install gcc-c++
yum –y install gcc-g77
yum –y install autoconf
yum –y install automake
yum –y install zlib*
yum –y install fiex*
yum –y install libxml*
yum –y install libmcrypt*
yum –y install libtool-ltdl-devel*
yum -y install make
yum –y install bison
yum -y install ncurses-devel
二. 编译安装 cmake
cd /usr/local/src
tar zxvf cmake-2.8.7.tar.gz
cd cmake-2.8.7
./bootstrap
gmake
gmake install
cd ../
三. 编译安装 MySQL 5.6.11
创建mysql用户及mysql组
#/usr/sbin/groupadd mysql
#/usr/sbin/useradd –r -g mysql mysql
#cd /install
#tar xvf mysql-5.6.11.tar.gz
#cd mysql-5.6.11/
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_EXTRA_CHARSETS=utf8,gbk
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DMYSQL_DATADIR=/usr/local/mysql/data
-DSYSCONFDIR=/usr/local/mysql
-DMYSQL_TCP_PORT=3306
-------------------------------------------
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=utf8,gbk -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/usr/local/mysql -DMYSQL_TCP_PORT=3306
--------------------------------------------
make
make install
ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18(暂不执行)
[root@demo mysql-5.6.10]# mkdir -p /usr/local/mysql/data
[root@demo mysql-5.6.10]# chown -R mysql:mysql /usr/local/mysql/data
[root@demo mysql-5.6.10]# mkdir -p /var/mysql/log/
[root@demo mysql-5.6.10]# chown -R mysql:mysql /var/mysql/log/
chmod +w /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql
[root@demo mysql-5.6.10]#
[root@demo data]# chown –R mysql:mysql /usr/local/mysql/data/mysql-bin.index(暂不执行)
#cd /usr/loca/mysql/support-files/
#cp my-default.cnf /etc/my.cnf
#cp mysql.server /etc/init.d/mysqld
四. 配置启动MySQL 5.6.10
1. 若有需要请先修改 mysql 的配置文件的参数 my.cnf
vi /etc/my.cnf
[mysqld] 下添加
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
socket = /usr/local/mysql/data/mysql.sock
pid-file = /usr/local/mysql/data/mysqld.pid
interactive_timeout=28800000
wait_timeout=28800000
lower_case_table_names=1
2.my.cnf mysql 初始化安装
/usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
3. 将 mysql 加入开机启动
chmod +x /etc/init.d/mysqld
vi /etc/init.d/mysqld (编辑此文件,查找并修改以下变量内容:)
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
添加mysqld服务
#chkconfig --add mysqld
#chkconfig --level 2345 mysqld on
4. 启动 mysql服务
service mysqld start
------------------------------------------------
启动 mysql 服务的时候报如下错误:
Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
解决方法:
mysql_install_db --user=mysql 重新初始化数据库即可
----------------------------------------------------
5. 设置root帐号密码
[root@demo ~]# /usr/local/mysql/bin/mysqladmin -uroot password root**
[root@demo ~]# /usr/local/mysql/bin/mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or /g.
Your MySQL connection id is 2
Server version: 5.6.11 Source distribution
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
bitsCN.com
InnoDB使用redologs和undologs确保数据一致性和可靠性。1.redologs记录数据页修改,确保崩溃恢复和事务持久性。2.undologs记录数据原始值,支持事务回滚和MVCC。

EXPLAIN命令的关键指标包括type、key、rows和Extra。1)type反映查询的访问类型,值越高效率越高,如const优于ALL。2)key显示使用的索引,NULL表示无索引。3)rows预估扫描行数,影响查询性能。4)Extra提供额外信息,如Usingfilesort提示需要优化。

Usingtemporary在MySQL查询中表示需要创建临时表,常见于使用DISTINCT、GROUPBY或非索引列的ORDERBY。可以通过优化索引和重写查询避免其出现,提升查询性能。具体来说,Usingtemporary出现在EXPLAIN输出中时,意味着MySQL需要创建临时表来处理查询。这通常发生在以下情况:1)使用DISTINCT或GROUPBY时进行去重或分组;2)ORDERBY包含非索引列时进行排序;3)使用复杂的子查询或联接操作。优化方法包括:1)为ORDERBY和GROUPB

MySQL/InnoDB支持四种事务隔离级别:ReadUncommitted、ReadCommitted、RepeatableRead和Serializable。1.ReadUncommitted允许读取未提交数据,可能导致脏读。2.ReadCommitted避免脏读,但可能发生不可重复读。3.RepeatableRead是默认级别,避免脏读和不可重复读,但可能发生幻读。4.Serializable避免所有并发问题,但降低并发性。选择合适的隔离级别需平衡数据一致性和性能需求。

MySQL适合Web应用和内容管理系统,因其开源、高性能和易用性而受欢迎。1)与PostgreSQL相比,MySQL在简单查询和高并发读操作上表现更好。2)相较Oracle,MySQL因开源和低成本更受中小企业青睐。3)对比MicrosoftSQLServer,MySQL更适合跨平台应用。4)与MongoDB不同,MySQL更适用于结构化数据和事务处理。

MySQL索引基数对查询性能有显着影响:1.高基数索引能更有效地缩小数据范围,提高查询效率;2.低基数索引可能导致全表扫描,降低查询性能;3.在联合索引中,应将高基数列放在前面以优化查询。

MySQL学习路径包括基础知识、核心概念、使用示例和优化技巧。1)了解表、行、列、SQL查询等基础概念。2)学习MySQL的定义、工作原理和优势。3)掌握基本CRUD操作和高级用法,如索引和存储过程。4)熟悉常见错误调试和性能优化建议,如合理使用索引和优化查询。通过这些步骤,你将全面掌握MySQL的使用和优化。

MySQL在现实世界的应用包括基础数据库设计和复杂查询优化。1)基本用法:用于存储和管理用户数据,如插入、查询、更新和删除用户信息。2)高级用法:处理复杂业务逻辑,如电子商务平台的订单和库存管理。3)性能优化:通过合理使用索引、分区表和查询缓存来提升性能。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Atom编辑器mac版下载
最流行的的开源编辑器

Dreamweaver CS6
视觉化网页开发工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能