加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Mysql应用MySQL入门完全指南及Linux系统下基本的安装教程

发布时间:2020-12-12 01:11:24 所属栏目:MySql教程 来源:网络整理
导读:《Mysql应用MySQL入门完全指南及Linux系统下基本的安装教程》要点: 本文介绍了Mysql应用MySQL入门完全指南及Linux系统下基本的安装教程,希望对您有用。如果有疑问,可以联系我们。 MYSQL教程 我们来了解一下MySQL的基本特性: MYSQL教程 1.内部构件和可移

《Mysql应用MySQL入门完全指南及Linux系统下基本的安装教程》要点:
本文介绍了Mysql应用MySQL入门完全指南及Linux系统下基本的安装教程,希望对您有用。如果有疑问,可以联系我们。

MYSQL教程我们来了解一下MySQL的基本特性:

MYSQL教程1.内部构件和可移植性

  • 使用C和C++编写
  • 用众多不同的编译器进行了测试
  • 能够工作在众多不同的平台上.请参见2.1.1 “MySQL支持的操作系统”.
  • 使用GNU Automake、Autoconf和Libtool进行移植.
  • 提供了用于C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl的API.
  • 采用核心线程的完全多线程 如果有多个CPU,它能方便地使用这些CPU.
  • 提供了事务性和非事务性存储引擎.
  • 使用了极快的“B树”磁盘表(MyISAM)和索引压缩.
  • 添加另一个存储引擎相对简单.如果打算为内部数据库添加一个SQL接口,该特性十分有用.
  • 极快的基于线程的内存分配系统.
  • 通过使用优化的“单扫描多连接”,能实现极快的连接.
  • 存储器中的哈希表用作临时表.
  • SQL函数是使用高度优化的类库实现的,运行很快.通常,在完成查询初始化后,不存在存储器分配.
  • 采用Purify(商业内存溢出检测器)以及GPL工具Valgrind(http://developer.kde.org/~sewardj/)测试了MySQL代码.
  • 服务器可作为单独程序运行在客户端/服务器联网环境下.它也可作为库提供,可嵌入(链接)到独立的应用程序中.这类应用程序可单独使用,也能在网络环境下使用.

MYSQL教程2.列类型

MYSQL教程众多列类型: 带符号/无符号整数,1、2、3、4、8字节长,FLOAT,DOUBLE,CHAR,VARCHAR,TEXT,BLOB,DATE,TIME,DATETIME,TIMESTAMP,YEAR,SET,ENUM,以及OpenGIS空间类型.请参见第11章:列类型.

MYSQL教程定长和可变长度记录.

MYSQL教程3.语句和函数

MYSQL教程在SELECT和查询的WHERE子句中,提供完整的操作符和函数支持.例如:

MYSQL教程
mysql> SELECT CONCAT(first_name,' ',last_name)
  -> FROM citizen
  -> WHERE income/dependents > 10000 AND age > 30;

MYSQL教程对SQL GROUP BY和ORDER BY子句的全面支持.支持聚合函数(COUNT(),COUNT(DISTINCT ...),AVG(),STD(),SUM(),MAX(),MIN()和GROUP_CONCAT()).

MYSQL教程支持LEFT OUTER JOIN和RIGHT OUTER JOIN,采用标准的SQL和ODBC语法.

MYSQL教程按照标准SQL的要求,支持表别名和列别名.

MYSQL教程DELETE、INSERT、REPLACE和UPDATE返回更改(影响)的行数.连接到服务器时,可通过设置标志返回匹配的行数.

MYSQL教程MySQL的SHOW命令可用于检索关于数据库、数据库引擎、表和索引的信息.EXPLAIN命令可用于确定优化器处理查询的方式.

MYSQL教程函数名与表名或列名不冲突.例如,ABS是有效的列名.唯一的限制在于,调用函数时,函数名和随后的符号“(”之间不得有空格.请参见9.6 “MySQL中保留字的处理”.

MYSQL教程可以将不同数据库的表混合在相同的查询中(就像MySQL 3.22中那样).

MYSQL教程4.安全

MYSQL教程十分灵活和安全的权限和密码系统,允许基于主机的验证.连接到服务器时,所有的密码传输均采用加密形式,从而保证了密码安全.

MYSQL教程5.可伸缩性和限制

MYSQL教程处理大型数据库: 我们使用了MySQL服务器和含5千万条记录的数据库.我们还听说,有些用户将MySQL用于含60000个表和约50亿行的数据库.

MYSQL教程每个表可支持高达64条索引(在MySQL 4.1.2之前为32条).每条索引可由1~16个列或列元素组成.最大索引宽度为1000字节(在MySQL 4.1.2之前为500).索引可使用具备CHAR、VARCHAR、BLOB或TEXT列类型的列前缀.

MYSQL教程6.连接性

MYSQL教程在任何平台上,客户端可使用TCP/IP协议连接到MySQL服务器.在Windows系统的NT系列中(NT、2000、XP或2003),客户端可使用命名管道进行连接.在Unix系统中,客户端可使用Unix域套接字文件建立连接.

MYSQL教程在MySQL 4.1和更高的版本中,如果是以“--shared-memory”选项开始,Windows服务器还支持共享内存连接.客户端可使用“--protocol=memory”选项,通过共享内存建立连接.

MYSQL教程Connector/ODBC (MyODBC)接口为使用ODBC(开放式数据库连接性)连接的客户端程序提供了MySQL支持.例如,可以使用MS Access连接到你的MySQL服务器.客户端可运行在Windows或Unix平台上.提供了MyODBC源.支持所有的ODBC 2.5函数,以及众多其他函数.

MYSQL教程Connector/J接口为使用JDBC连接的Java客户端程序提供了MySQL支持.客户端可运行在Windows或Unix平台上.提供了Connector/J源码.

MYSQL教程7.本地化

MYSQL教程服务器可使用多种语言向客户端提供错误消息.请参见5.10.2节,“设置错误消息语言”.

MYSQL教程对数种不同字符集的全面支持,包括latin1 (cp1252)、german、big5、ujis等.例如,在表名和列名中允许使用斯堪的纳维亚字符‘?'、‘?'和‘?'.从MySQL 4.1开始,提供了Unicode支持.

MYSQL教程所有数据均以所选的字符集保存.正常字符串列的比较不区分大小写.

MYSQL教程分类是根据所选的字符集(默认情况下,使用瑞典校对)进行的.启动MySQL服务器时,可更改该项设置.要想查看高级分类的示例,请参见Czech分类代码.MySQL服务器支持众多不同的字符集,这类字符集可在编译时和运行时指定.

MYSQL教程8.客户端和工具

MYSQL教程MySQL服务器提供了对SQL语句的内部支持,可用于检查、优化和修复表.通过mysqlcheck客户端,可在命令行上使用这类语句.MySQL还包括myisamchk,这是一种很快的命令行实用工具,可用于在MyISAM表上执行这类操作.请参见第5章:数据库管理.

MYSQL教程对于所有MySQL程序,均能通过“-help”或“-?”选项调用,以获取联机帮助信息.

MYSQL教程MySQL在Linux上的安装:

MYSQL教程1,rpm包形式
(1) 操作系统发行商提供的
(2) MySQL官方提供的(版本更新,修复了更多常见BUG)www.mysql.com/downloads
关于MySQL中rpm包类型的介绍:
?MySQL-client???????? 客户端组件
?
?MySQL-debuginfo????? 调试MySQL的组件?
?
?MySQL-devel????????? 想针对于MySQL编译安装PHP等依赖于MySQL的组件包
?
?MySQL-embedded?????? MySQL的嵌入式版本
?
?MySQL-server???????? 共享库
?
?MySQL-shared???????? 共享库
?
?MySQL-shared-dompat? 为了兼容老版本的共享库
?
?MySQL-test?????????? MySQL的测试组件(在线处理功能)
安装方法:
首先可以从安装光盘中或者到mysql的网站上下载对应版本的rpm包如下:

MYSQL教程
MySQL-server-community-5.5.28-1.rhel5.i386.rpm 
 
MySQL-client-community-5.5.28-1.rhel5.i386.rpm 
接着我们可以使用rpm命令进行安装:
MYSQL教程
rpm -ivh MySQL-server-community-5.5.28-1.rhel5.i386.rpm 
 
rpm -ivh MySQL-client-community-5.5.28-1.rhel5.i386.rpm 

MYSQL教程补充一点:?
-h 使用符号#显示安装进度
?
-v 报告每一步操作的情况

MYSQL教程2,通用二进制包
(1)新建用户以安全方式运行进程:

MYSQL教程
# groupadd -r mysql 
 
# useradd -g mysql -r -s /sbin/nologin -M -d /mydata/data mysql 
 
# chown -R mysql:mysql /mydata/data 

MYSQL教程(2)安装并初始化mysql-5.5.28
首先下载平台对应的mysql版本至本地,这里是32位平台,因此,选择的为mysql-5.5.28-linux2.6-i686.tar.gz
#

MYSQL教程
 tar xf mysql-5.5.28-linux2.6-i686.tar.gz -C /usr/local 
 
# cd /usr/local/ 
 
# ln -sv mysql-5.5.28-linux2.6-i686 mysql 
 
# cd mysql 
 
# chown -R mysql:mysql . 
 
# scripts/mysql_install_db --user=mysql --datadir=/mydata/data 
 
# chown -R root . 

MYSQL教程(3)为mysql提供主配置文件:

MYSQL教程
# cd /usr/local/mysql 
 
# cp support-files/my-large.cnf /etc/my.cnf 

MYSQL教程(4)修改配置文件:
修改此文件中thread_concurrency的值为你的CPU个数乘以2,比如这里使用如下行:?
?

MYSQL教程
thread_concurrency = 2 

MYSQL教程?
另外还需要添加如下行指定mysql数据文件的存放位置:?
?

MYSQL教程
datadir = /mydata/data 

MYSQL教程(5)为mysql提供sysv服务脚本:

MYSQL教程
# cd /usr/local/mysql 
 
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld 

MYSQL教程(6)添加至服务列表:

MYSQL教程
# chkconfig --add mysqld 
 
# chkconfig mysqld on 

MYSQL教程(7)而后就可以启动服务测试使用了.

MYSQL教程
# service mysqld start

MYSQL教程?
3,源码编译
(安装编译方式有点改变,配置过程无太大变动,所以后面不详细介绍各个步骤了)
若想在5.0系列的红帽系统上进行源码编译安装MySQL必须借助一个跨平台编译器cmake
所以:
(1)首先安装cmake
安装cmake需要用make

MYSQL教程
# tar xf cmake-2.8.8.tar.gz 
 
# cd cmake-2.8.8 
 
# ./bootstrap 

MYSQL教程???? 使用此脚本来检测编译环境?
?

MYSQL教程
# make 
 
# make install 

MYSQL教程(2)编译安装mysql-5.5.28
使用cmake编译mysql-5.5.28,选项的方式有所改变简单介绍一下...
cmake指定编译选项的方式不同于make,其实现方式如下:
cmake .
?
cmake . -LH 或 ccmake .??????? 查找可以使用的相关选项
指定安装文件的安装路径时常用的选项:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql???????? 指定安装路径
?
-DMYSQL_DATADIR=/data/mysql???????????????????? 数据安装路径
?
-DSYSCONFDIR=/etc?????????????????????????????? 配置文件的安装路径
由于MySQL支持很多的存储引擎而默认编译的存储引擎包括:csv、myisam、myisammrg和heap.若要安装其它存储引擎,可以使用类似如下编译选项:
-DWITH_INNOBASE_STORAGE_ENGINE=1????????? 安装INNOBASE存储引擎
?
-DWITH_ARCHIVE_STORAGE_ENGINE=1?????????? 安装ARCHIVE存储引擎
?
-DWITH_BLACKHOLE_STORAGE_ENGINE=1???????? 安装BLACKHOLE存储引擎
?
-DWITH_FEDERATED_STORAGE_ENGINE=1???????? 安装FEDERATED存储引擎
?
若要明确指定不编译某存储引擎,可以使用类似如下的选项:
-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1?
比如:
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1??????? 不启用或不编译EXAMPLE存储引擎
?
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
?
-DWITHOUT_PARTITION_STORAGE_ENGINE=1
如若要编译进其它功能,如SSL等,则可使用类似如下选项来实现编译时使用某库或不使用某库:
-DWITH_READLINE=1
?
-DWITH_SSL=system?????????? 表示使用系统上的自带的SSL库
?
-DWITH_ZLIB=system
?
-DWITH_LIBWRAP=0
其它常用的选项:
-DMYSQL_TCP_PORT=3306?????????????????????? 设置默认端口的
?
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock?????????? MySQL进程间通信的套接字的位置
?
-DENABLED_LOCAL_INFILE=1??????????????????? 是否启动本地的LOCAL_INFILE
?
-DEXTRA_CHARSETS=all??????????????????????? 支持哪些额外的字符集
?
-DDEFAULT_CHARSET=utf8????????????????????? 默认字符集
?
-DDEFAULT_COLLATION=utf8_general_ci???????? 默认的字符集排序规则
?
-DWITH_DEBUG=0????????????????????????????? 是否启动DEBUG功能
?
-DENABLE_PROFILING=1??????????????????????? 是否启用性能分析功能
如果想清理此前的编译所生成的文件,则需要使用如下命令:

MYSQL教程
make clean 
 
rm CMakeCache.txt 

MYSQL教程编译安装

MYSQL教程
# tar xf mysql-5.5.28.tar.gz 
 
# cd mysql-5.5.28 
 
# groupadd -r mysql 
 
# useradd -g -r mysql mysql 
 
# mkdir -pv /data/mydata 
 
# chown -R mysql:mysql /data/mydata 
 
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mydata -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci 
 
# make 
 
# make install
 
# cd /usr/local/mysql 

MYSQL教程?

MYSQL教程
# chown -R :mysql

MYSQL教程??? 更改属组?
?

MYSQL教程
# scripts/mysql_install_db --user=mysql --datadir=/data/mydata/

MYSQL教程? 指定数据存放位置
?

MYSQL教程
# cp support-files/my-large.cnf /etc/my.cnf 

MYSQL教程??? 创建配置文件
?
编辑配置文件

MYSQL教程
#vim /etc/my.cnf 

MYSQL教程添加如下行指定mysql数据文件的存放位置:?
?

MYSQL教程
datadir = /mydata/data 

MYSQL教程创建执行脚本和启动服务

MYSQL教程
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld 

MYSQL教程复制脚本?
?

MYSQL教程
# chmod +x /etc/rc.d/init.d/mysqld 

MYSQL教程?执行权限?
?

MYSQL教程
# chkconfig -add mysql 

MYSQL教程添加到服务列表中?
?

MYSQL教程
# service mysqld start 

MYSQL教程?启动服务?
?

MYSQL教程
# bin/mysql  

MYSQL教程启动mysql

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读