温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Linux_MySQL(mariadb)数据库(2)V1.0

发布时间:2020-06-16 12:17:47 来源:网络 阅读:477 作者:zx337954373 栏目:数据库

MySQL AB  --> MySQL

       Solaris:二进制版本;

       www.mysql.com

       MariaDB: www.mariadb.org

 

MariaDB的特性:

       插件式存储引擎:存储管理器有多种实现版本,彼此间的功能和特性可能略有区别;用户可根据需要灵活选择;

              存储引擎也称为“表类型”;

              (1) 更多的存储引擎;

                     MyISAM:不支持事务;(CentOS 6 --> 5.1.73 默认存储引擎为MylSAM红帽调整为 inndDB)

                     MyISAM --> Aria

                     InnoDB --> XtraDB 支持事物

5.5以后都支持事物

                            :支持事务;

              (2) 诸多扩展和新特性;

              (3) 提供了较多的测试组件;

              (4) truly open source;真开源

MySQL的发行机制:

Enterprise:企业版

Commutiny:社区版

安装和使用MariaDB:

(1) rpm包;

       (a) 由OS的发行商提供;

       (b) 程序官方提供;

(2) 源码包;

(3) 通用二进制格式的程序包;(就像win上的绿色软件一样)

       通用二进制格式安装注意:

1.注意版本,有的版本要求glibc版本要求

2.展开位置必须为/usr/local (tar xf MARIADB_NAME -C /usr/local)

3.要求文件名必须为mysql (一般选用软连接而不直接命名文件夹 ln -sv MARIADB_NAME mysql)

4,移动文件时注意属主数组,默认为系统用户的mysql,(chown -R root:mysql ./* )

5.创建数据存放目录 (数据库有可能未来会非常大,非测试建议独立分区,创建目录注意权限)

6,即使是二进制安装的,默认也会读取/etc/my.cnf文件 (主配置文件)

7.需独立设置配置文件时,安装包下的support-files下有配置文件模板 (cnf结尾的文件都是,适用于不同的硬件配置)

8.复制模板文件到/etc/  或自建目录/etc/mysql/my.cnf并重命名

9.mysql是但进程多线程,而对linux而言,一个进程最多使用2.7G内存,没屌用

10.在要配置的文件中指定mysql数据库数据位置( 添加 datadir = /SOME/TO)

11.skip_name_resolve = ON

12 innodb_file_per_table = ON

13.复制安装包support-files文件中mysql.server复制到/etc/rc.d/init.d/mysqld (确认执行权限 执行chkconfig --add mysqld)

14.初始化数据库.在数据库所在路径(/usr/local/mysql) 执行 scripts/mysql_install_db  --user=mysql  -datadir=/mydata/data

通用二进制格式安装MariaDB:

              (1) 准备数据目录;

                     以/mydata/data目录为例;

              (2) 安装配置mariadb                                         

                            # useradd  -r  mysql

                            # tar xf  mariadb-VERSION.tar.xz  -C  /usr/local

                            # cd /usr/local

                            # ln  -sv  mariadb-VERSION  mysql

                            # cd  /usr/local/mysql

                            # chown  -R  root:mysql  ./*

                            # scripts/mysql_install_db  --user=mysql  -datadir=/mydata/data

                            # cp  support-files/mysql.server   /etc/init.d/mysqld

                            # chkconfig   --add  mysqld

                     (3) 提供配置文件

                            ini格式的配置文件;各程序均可通过此配置文件获取配置信息;

                                   [program_name]

配置文件生效次序查询: ~]# mysql --help 

# cp  support-files/my-large.cnf  /etc/my.cnf

                                         

              添加三个选项:

                     datadir = /mydata/data

                     innodb_file_per_table = ON

                     skip_name_resolve = ON

                                                

(4) 启动服务

       # service  mysqld  start

MariaDB程序的组成:

              C:Client

                     mysql:CLI交互式客户端程序;

                     mysqldump:备份工具;

                     mysqladmin:管理工具;

                     mysqlbinlog:查看mysql二进制日志

                     ...

              S:Server

                     mysqld

                     mysqld_safe:建议运行服务端程序;

                     mysqld_multi:多实例;

                    

                     三类套接字地址:

                            IPv4, 3306/tcp

                            Unix Sock:/var/lib/mysql/mysql.sock, /tmp/mysql.sock

                                   C <--> S: localhost, 127.0.0.1

命令行交互式客户端程序:mysql

              mysql

                     mysql [OPTIONS] [database]

                    

              常用选项:

                     -uUSERNAME:用户名,默认为root;

                     -hHOST:远程主机(即mysql服务器)地址,默认为localhost;

                     -p[PASSWORD]:USERNAME所表示的用户的密码; 默认为空;

                           

                     注意:mysql的用户账号由两部分组成:'USERNAME'@'HOST'; 其中HOST用于限制此用户可通过哪些远程主机连接当前的mysql服务;

                     HOST的表示方式,支持使用通配符:

                            %:匹配任意长度的任意字符;

                            172.16.%.%,  -->172.16.0.0/16

                            _:匹配任意单个字符;

                                         

                     -Ddb_name:连接到服务器端之后,设定其处指明的数据库为默认数据库;

                     -e 'SQL COMMAND;':连接至服务器并让其执行此命令后直接返回;

命令:

       客户端命令:本地执行

              mysql> help

                     \u db_name:设定哪个库为默认数据库                            #反斜线

                     \q:退出;                                  

                     \d CHAR:设定新的语句结束符;

                     \g:语句结束标记;

                     \G:语句结束标记,结果竖排方式显式;

                     \s:查看数据库状态

                     服务端命令:通过mysql连接发往服务器执行并取回结果;

                                   DDL, DML, DCL

                                  

                     注意:每个语句必须有语句结束符,默认为分号(;)

***********************************************

数据类型:

       表:行和列  一个表可以没有行 但不能没有列 没有列不叫表

              创建表:定义表中的字段;

                                  

       定义字段时,关键的一步即为确定其数据类型;

              用于确定:数据存储格式、能参与运算种类、可表示的有效的数据范围;

                                  

       字符型:字符集

              码表:在字符和二进制数字之间建立映射关系;

                                  

       种类:

              字符型:

                     定长字符型:

                            CHAR(#):不区分字符大小写

                            BINARY(#):区分字符大小写

                     变长字符型:

                            VARCHAR(#)

                            VARBINARY(#)

                     对象存储:

                            TEXT         文本 2^32次方格文本 4G  不区分

                            BLOB 区分大小写

                     内置类型:

                            SET 集合(给定abc 只能填写abc的组合)

                            ENUM       枚举(不如男女.星期.种类什么的)      

                  数值型:

              精确数值型:

                            INT(TINYINT(一个字节0-255),SMALLINT(小整型2字节),MEDIUMINT(3字节),INT(4字节),BIGINT(8))

                     近似数值型:

                            FLOAT 单精度浮点

                            DOBULE 双精度浮点

              日期时间型:

                     日期型:DATE

                     时间型:TIME

                     日期时间型:DATETIME

                     时间戳:TIMESTAMP

                     年份:YEAR(2), YEAR(4)

                                         

       数据类型有修饰符:

              UNSIGNED:无符号;

              NOT NULL:非空;

              DEFAULT  value:默认值;


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI