特性、二进制安装方法、安装生成的程序、MariaDB程序的组成、SQL接口、关系型数据库的组件、管理数据库组件、数据类型、修饰
MariaDB,开源RDBMS的实现
特性、
安装MariaDB方法、
CentOS 6: 通用二进制格式安装MariaDB 1、获取源码 官方站点:www.mariadb.org 2、安装MariDB 1)添加用户 2)准备数据库 3)展开及配置 3、测试启动服务并登陆MariaDB 4、安全初始化 5、通用配置 1、获取源码 2、安装MariaDB 1) 添加用户: # groupadd -r -g 306 mysql # useradd -r -g 306 -u 306 mysql 2) 准备数据库: # btrfs # lvm2 快照,数据库备份 # fdisk -l /dev/[sh]d[a-z] //查看所有磁盘 # fdisk /dev/sda //管理指定磁盘 # partx -a /dev/sda # partx -a /dev/sda # pvcreate /dev/sda3 # vgcreate vg0 /dev/sda3 # lvcreate -L 10G -n mylv vg0 # 查看可被格式的文件系统类型 # cat /proc/filesystems **没有xfs,xfs比ext文件易扩展,易用 # 查看模块 # lsmod # 安装使用xfs文件系统 # yum search xfs //xfsprogs.i686 : Utilities for managing the XFS filesystem 文件系统组成: 模块、用户空间的管理工具、POSIX # yum -y install xfsprogs # 安装后查看内核中的模块 # rpm -ql xfsprogs //只提供程序,并未提供模块 # modinfo xfs //没有此模块 # modprobe xfs //如果有则可以安装 # mke2fs -t ext4 /dev/vg0/mylv # vim /etc/fstab /dev/vg0/mylv /mydata/data ext4 defaults 1 2 # mkdir -p /mydata/data # chown mysql.mysql /mydata/data # mount -a 3) 展开及配置: 展开: # tar xf mariadb-5.5.57-linux-i686.tar.gz -C /usr/local/ # cd /usr/local/ # ls //查看文件 # ln -sv mariadb-5.5.57-linux-i686 mysql # ll //查看链接 # cd mysql # ll //查看权限 # chown -R mysql.mysql ./* # ll //确认 元数据生成: # scripts/mysql_install_db --help --user=user_name --basedir=path //指明mariadb的安装目录 --datadir=path //MariaDB的数据库的目录 --defaults-extra-file=name //配置文件 # /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --user=mysql --datadir=/mydata/data/ # ls /mydata/data //查看文件是否生成 准备配置文件: 配置文件读取路径: /etc/my.cnf --> /etc/mysql/my.cnf --> --default-extra-file --> ~/.my.cnf # mkdir /etc/mysql # ls support-files/ //查看提供的文件 1) my*.cnf //均为配置 large(512M内存), meduim(256M), small(64M) 内存4G innodb-heavy-4G.cnf 2) mysql.server //提供的服务脚本 # cp support-files/my-large.cnf /etc/mysql/my.cnf 修改配置文件: 配置文件类ini格式, 相同配置段出现多次时,最后一个配置段为最终生效段. [client] #password = your_password port = 3306 socket = /tmp/mysql.sock //客户端通过/tmp/mysql.sock与服务端通信 [mysqld] port = 3306 //服务端监听的端口 socket = /tmp/mysql.sock //服务端监听在unix socket # Try number of CPU's*2 for thread_concurrency 线程数为CPU核心数的2倍 thread_concurrency = 4 -------- datadir = /mydata/data //数据库的目录 innodb_file_per_table = on //innodb的特性,每个文件当作一个表 skip_name_resolve = on //跳过IP-->反解为主机名.授权只基于IP即可,加速 准备服务脚本 # ls support-files/ //查看服务脚本的位置及权限 # cp support-files/mysql.server /etc/rc.d/init.d/mysqld # chkconfig --add mysqld # chkconfig --list mysqld 4)测试启动服务 # ss -tnl //查看3306端口是否被占用 # service mysqld start /usr/local/mysql/bin/mysqld_safe_helper: Can't create/write to file '/var/log/mysqld.log' (Errcode: 13) # touch /var/log/mysqld.log # chown root.mysql /var/log/mysqld.log # chmod 660 /var/log/mysqld.log # /usr/local/mysql/bin/mysql MariaDB [(none)]> 5) 安全初始化 MariaDB [(none)]> SELECT User,Host,Password FROM mysql.user; +------+-----------------------+----------+ | User | Host | Password | +------+-----------------------+----------+ | root | localhost | | | root | localhost.localdomain | | | root | 127.0.0.1 | | | root | ::1 | | | | localhost | | | | localhost.localdomain | | +------+-----------------------+----------+ 6 rows in set (0.00 sec) 注意:在本地主机上root,及一个匿名用户没有对应的密码 # /usr/local/mysql/bin/mysql_secure_installation # /usr/local/mysql/bin/mysql -uroot -hlocalhost -pmagedu MariaDB [(none)]> 6)通用配置 查看安装目录 # ls /usr/local/mysql bin data include lib mysql-test scripts sql-bench COPYING EXCEPTIONS-CLIENT INSTALL-BINARY man README share support-files 1、导出PATH变量 # vim /etc/profile.d/mysql.sh export PATH=/usr/local/mysql/bin:$PATH # . /etc/profile.d/mysql.sh 2、导出库文件 # vim /etc/ld.so.conf.d/mysql.conf /usr/local/mysql/lib # ldconfig [-v] 3、导出头文件 # ln -sv /usr/local/mysql/include /usr/include/mysql 4、导出man手册 # vim /etc/man.config MANPATH /usr/local/mysql/man
MariaDB程序组成
# ls /usr/local/mysql/bin 1、服务端程序 mysqld_safe[ps命令即可查询:"线程安全的mysql"] mysqld_multi["多个mysql,使用不同的端口"] mysql协议:数据存储协议:C/S架构 实现: mysqld 进程间的通信: 同主机通信:unix socket、message queue(signal)、share memory、semphor(旗语) 跨主机:socket、rpc mysqld同主机:基于unix socket通信 服务器监听在: server地址: localhost, 127.0.0.1 二进制安装:/tmp/mysql.sock rpm安装: /var/lib/mysql/mysql.sock 2、客户端程序 mysql CLI、GUI(phpMyadmin) mysqladmin mysqlbinlog 二进制日志管理 mysqldump 客户端程序: mysql使用 mysql [-uUSERNAME] [-hHOST] [-pPASSWORD] 注意: 1、mysql用户名: 'USERNAME'@'HOST' HOST:支持通配符: % 任意长度任意字符 _ 任意单个字符 例如: 172.16.0.0/16网络用通配符表示 172.16.% 172.16.0.% 172.16.%.% 2、不给-u: 默认用户名为root 不给-h: 默认HOST为localhost或127.0.0.1 不给-p: 默认PASSWORD为空
SQL接口
SQL接口: 与mysqld相互 MariaDB [(none)]> 客户端命令:本地执行 命令名 简写格式 help (\?) //获取帮助 clear (\c) //清空输入的内容 ego (\G) 垂直显示结果 quit (\q) //退出mysql, status (\s) //查看服务器的状态信息 system (\!) //执行shell命令 use (\u) use DB, 设定默认数据库 服务端命令:在服务器端执行并取回,命令有结束符";" > SELECT VERSION(); 调用函数并执行 > SELECT 1+1; > SELECT 0.99^365 > SELECT 1.0^365
关系型数据库的组件、
管理关系型数据库的基本组件
注意:写的格式统一,因为mysql缓存是根据MD5值存储缓存。如果两次输入的字母大小写不同时,其MD5值不同。
获取命令帮助:
数据库管理
表管理
数据类型、
数据类型: datatype 字符: 定长字符: 不区分大小写 char(#) 用或不用,给1个占10个 区分大小写 变长字符: 不区分大小写 varchar(#) 有结束符,占用一个, 给1个,占2个 区分大小写 对象存储:大文本存储 TEXT 不区分 BLOB 区分 内置: ENUM 枚举 SET 集合 数值: 精确:整型[int]、十进制[decimal] int tinyint 1byte smallint 2bytes mediumint 3bytes int 4bytes bigint 8bytes 范围: 0 - 2^64-1 近似: 单精度浮点[float]、双精度浮点[double] 修饰 NOT NULL NULL
本文转自 lccnx 51CTO博客,原文链接:http://blog.51cto.com/sonlich/1970069,如需转载请自行联系原作者