MariaDB与MySQL
一、MariaDB安装部署
tar zxvf mariadb-5.5.31-linux-x86_64.tar.gz
mv mariadb-5.5.31-linux-x86_64 /usr/local/mysql //必需这样,很多脚本或可执行程序都会直接访问这个目录
groupadd mysql //增加 mysql 属组
useradd -g mysql mysql //增加 mysql 用户 并归于mysql 属组
chown mysql:mysql -Rf /usr/local/mysql // 设置 mysql 目录的用户及用户组归属。
chmod +x -Rf /usr/local/mysql //赐予可执行权限
cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf //复制默认mysql配置 文件到/etc目录
/usr/local/mysql/scripts/mysql_install_db --user=mysql //初始化数据库
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql //复制mysql服务程序 到系统目录
chkconfig mysql on //添加mysql 至系统服务并设置为开机启动
service mysql start //启动mysql
vim /etc/profile //编辑profile,将mysql的可执行路径加入系统PATH
export PATH=/usr/local/mysql/bin:$PATH
source /etc/profile //使PATH生效。
mysqladmin -u root password 'yourpassword' //设定root账号及密码
mysql -u root -p //使用root用户登录mysql
use mysql //切换至mysql数据库。
select user,host,password from user; //查看系统权限
drop user ''@'localhost'; //删除不安全的账户
drop user root@'::1';
drop user root@127.0.0.1;
select user,host,password from user; //再次查看系统权限,确保不安全的账户均被删除。
flush privileges; //刷新权限
1)修改字符集为UTF8
vi /etc/my.cnf
在[client]下面添加 default-character-set = utf8
在[mysqld]下面添加 character_set_server = utf8
2)增加错误日志
vi /etc/my.cnf
在[mysqld]下面添加:
log-error = /usr/local/mysql/log/error.log
general-log-file = /usr/local/mysql/log/mysql.log
3) 设置为不区分大小写,linux下默认会区分大小写。
vi /etc/my.cnf
在[mysqld]下面添加:
lower_case_table_name=1
修改完重启:#service mysql restart
MySQL安装部署(二)
1.解压tar包
cd /software
tar -xzvf mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.6.21-linux-glibc2.5-x86_64 mysql-5.6.21
2.添加用户与组
groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysql mysql-5.6.21
3.安装数据库
su mysql
cd mysql-5.6.21/scripts
./mysql_install_db --user=mysql --basedir=/software/mysql-5.6.21 --datadir=/software/mysql-5.6.21/data
4.配置文件
cd /software/mysql-5.6.21/support-files
cp my-default.cnf /etc/my.cnf
cp mysql.server /etc/init.d/mysql
vim /etc/init.d/mysql #若mysql的安装目录是/usr/local/mysql,则可省略此步
修改文件中的两个变更值
basedir=/software/mysql-5.6.21
datadir=/software/mysql-5.6.21/data
5.配置环境变量
vim /etc/profile
export MYSQL_HOME="/software/mysql-5.6.21"
export PATH="$PATH:$MYSQL_HOME/bin"
source /etc/profile
6.添加自启动服务
chkconfig --add mysql
chkconfig mysql on
7.启动mysql
service mysql start
8.登录mysql及改密码与配置远程访问
mysqladmin -u root password 'your_password' #修改root用户密码
mysql -u root -p #登录mysql,需要输入密码
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION; #允许root用户远程访问
mysql>FLUSH PRIVILEGES; #刷新权限
二、MySQL 字段类型
数字类型:
1、tinyint 1字节
2、smallint 2字节
3、mediumint 3字节
4、int 4字节
5、bigint 8字节
6、float 浮点数
7、double 双精度
8、decimal(总长度,小数位长度)
日期类型:
1、date 日期
2、datetime 日期时间
3、timestamp 时间戳
4、time 时间
字符类型:
1、char 不可变长度的字符串
2、varchar 可变字符串字符串
3、text 大文本类型
其他类型:
1、blob 二进制流类型
2、enum 枚举 插入值时 对应的值 必须在枚举中存在
3、set 一个字符串对象,可以有零或多个值,其值来自表创建时规定的允许的一列值。
三、数据库函数
字符串类
CHARSET(str) //返回字串字符集
CONCAT(str [,... ]) //连接字串
INSTR(str,substring) //返回substring首次在string中出现的位置,不存在返回0
LCASE(str) //转换成小写 oracle lower(字符串)
UCase(str)//转换为大写 oracle upper(字符串)
LEFT(str,length) //从string2中的左边起取length个字符 等价于 SUBSTRING(str,1,length);
SUBSTRING (str, position [,length ])//从str的position开始,取length个字符。
LENGTH(str) //string长度
LTRIM(str) //去除前端空格
RTRIM(str) //去除后端空格
STRCMP(str1,str2) //逐字符比较两字串大小,
REPLACE(str,search_str,replace_str) //在str中用replace_str替换search_str
LOAD_FILE(file_name) //从文件读取内容 例如 load_file(全路径);
LOCATE(substring,str [,start_position]) //同INSTR,但可指定开始位置,找到第一个字符串在第二个字符串的位置
LPAD(str,length,pad ) //重复用pad加在str开头,直到字串长度为length
RPAD(str,length,pad) //在str后用pad补充,直到长度为length
REPEAT(str,count) //重复count次
comress(string) //对字符串进行压缩
uncomress(被压缩的字符串) //对字符串进行解压缩
数学类
ABS(number) //绝对值
FLOOR(number) //向下取整 只保留整数位 不会四舍五入
CEILING(number) //向上取整 只要小数位大于0的值 整数位都进1
ROUND(number [,decimals ]) //四舍五入,decimals为小数位数]
FORMAT(number,decimal_places) //保留小数位数 第二个参数是必选的
RAND([seed]) //随机数
MOD(numerator,denominator ) //求余 等价于 数字%数字
BIN(decimal_number) //十进制转二进制
CONV(number,from_base,to_base) //进制转换
HEX(DecimalNumber) //转十六进制
LEAST(number, number2 [,..]) //求最小值
POWER(number,power ) //求指数
日期时间类
NOW() //当前时间
CURRENT_DATE() //当前日期 缩写 curdate()
CURRENT_TIME() //当前时间 缩写 curtime()
CURRENT_TIMESTAMP() //当前时间戳 定位到某一个时间点
//添加时间 第二个参数参数为1个值时 添加秒 参数为 时间:时间 添加小时和分钟
ADDTIME(date2,time_interval) //将time_interval加到date2
//formatCode的格式为 select date_format(now(),'%Y-%m-%d %H:%i:%s');
DATE_FORMAT(datetime,FormatCodes) //使用formatcodes格式显示datetime
DATEDIFF(date1,date2) //两个日期差 结果是天数
CONVERT_TZ(datetime2,fromTZ ,toTZ ) //转换时区
DATE(datetime) //返回datetime的日期部分
DATE_ADD(date2, INTERVAL d_value d_type) //在date2中加上日期或时间
DATE_SUB(date2, INTERVAL d_value d_type) //在date2上减去一个时间
DAY (date) //返回日期的天
DAYNAME (date) //英文星期
DAYOFWEEK (date) //星期(1-7) ,1为星期天
DAYOFYEAR (date) //一年中的第几天
EXTRACT (interval_name FROM date) //从date中提取日期的指定部分
MAKEDATE(year,day) //给出年及年中的第几天,生成日期串
MAKETIME(hour,minute,second) //生成时间串
MONTHNAME(date) //英文月份名
SEC_TO_TIME(seconds) //秒数转成时间
STR_TO_DATE(string,format) //字串转成时间,以format格式显示
TIMEDIFF(datetime1,datetime2 ) //两个时间差
TIME_TO_SEC(time) //时间转秒数]
WEEK(date_time [,start_of_week ]) //第几周
YEAR(datetime) //年份
DAYOFMONTH(datetime) //月的第几天
HOUR(datetime) //小时
LAST_DAY(date) //date的月的最后日期
MICROSECOND(datetime) //微秒
MONTH(datetime) //月
MINUTE(datetime) //分返回符号,正负或0
SQRT(number2) //开平方
转换函数
convert(expression,type)
cast(expression as type)
四、MariaDB与Mysql
MariaDB 5.x与Mysql 5.x 大部分内容几乎一样。开发人员再使用上甚至不用区分。
在服务器优化器、存储引擎方面MariaDB 10.x更加明显。
五、MariaDB默认数据库
mysql 存储MariaDB服务器用户认证信息。
information_schema 存储各种数据表信息
performance_schema 记录处理查询请求时发生的各种事件、锁、的现象。
test 供测试使用的数据库,一般都会删除。
六 、优化【SQL解析器-SQL优化器-存储引擎】
统计信息
执行计划分析
存储引擎
myIsam 不支持事务且只支持表级锁,非常特殊的条件下会使用。
Aria 支持页面缓存[ROW_FORMAT]和事务[TRANSACTIONAL],MariaDB创建内部表会使用。
XtraDB MariaDB 5.5默认存储引擎,是InnoDB的超集。
InnoDB MariaDB 10.0默认存储引擎。
MariaDB与MySQL的更多相关文章
- centos7 高速安装 mariadb(mysql)
从最新版本的linux该系统启动,缺省值是 Mariadb代替mysql! 使用系统自带repos安装非常easy: yum install mariadb mariadb-server system ...
- MariaDB与MySQL在一台服务器同时运行
[root@HE3 ~]#groupadd mariadb -g 513 [root@HE3 ~]#useradd-u 513 -gmariadb -s /sbin/nologin -d /home/ ...
- mariaDB vs mysql
mariaDB vs mysql 今天遇到一个库使用的是mariaDB的数据库版本 Server version: 10.1.20-MariaDB MariaDB Server 理了一下mariaDB ...
- MariaDB 和 MySQL 比较
MariaDB.org - Supporting continuity and open collaborationhttps://mariadb.org/ MariaDB 和 MySQL 比较 - ...
- MariaDB MariaDB、MySQL存储过程、游标基础应用举例说明
MariaDB.MySQL存储过程.游标基础应用举例说明 by:授客 QQ:1033553122 测试环境: MariaDB-10.0.19-centos7-x86_64 实践操作: # 创建测试数据 ...
- 数据库对比:选择MariaDB还是MySQL?
作者 | EverSQL 译者 | 无明 这篇文章的目的主要是比较 MySQL 和 MariaDB 之间的主要相似点和不同点.我们将从性能.安全性和主要功能方面对这两个数据库展开对比,并列出在选择数据 ...
- MariaDB与MySQL并存
以下是MariaDB官方文档说明,MariaDB如何安装在已经存在MySQL实例的主机上: https://mariadb.com/kb/en/library/installing-mariadb-a ...
- Buildroot MariaDB替代MySQL
/********************************************************************************* * Buildroot Maria ...
- mariadb或者mysql查看某个库相关的用户授权信息
mariadb或者mysql查看某个库相关的授权信息 SELECT * FROM mysql.Db WHERE Db='DB_NAME';
随机推荐
- JS对象3
1.BOM对象 window对象 所有浏览器都支持window对象 概念上讲:一个html文档对应一个window对象 功能上讲:控制浏览器窗口的 使用上讲:window对象不需要创建对象,直接使用即 ...
- GMA Round 1
学弟说我好久没更blog了. 因为自己最近其实没干什么. 所以来搬运一下GMA Round 1 的比赛内容吧,blog访问量.网站流量一举两得. 链接:https://enceladus.cf/con ...
- __x__(28)0907第四天__固定布局
布局 固定布局,需要计算单位 自适应响应布局 固定布局 html代码 <!doctype html> <html> <head> <meta charset ...
- 根据屏幕自适应宽度:@media
@media screen and (min-width: 1490px){ .w1224{ width: 1400px !important; }}@media screen and (max-wi ...
- 【搜索2】P1706 全排列问题
题目描述 输出自然数1到n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复的数字. 输入输出格式 输入格式: n(1≤n≤9) 输出格式: 由1-n组成的所有不重复的数字序列, ...
- systemverilog中实现饱和截位和饱和截位的分析
截位(rnd/prnd/floor):都是去掉低位数据的操作(去掉低位低精度的数据,或者说小数位,降低数据的精度) 饱和(sat/sym_sat):都是去掉高位数据的操作,(去掉无符号数高位的0,或者 ...
- Python学习之旅(三十七)
Python基础知识(36):访问数据库(Ⅰ) 程序运行的时候,数据都是在内存中的.当程序终止的时候,通常都需要将数据保存到磁盘上,无论是保存到本地磁盘,还是通过网络保存到服务器上,最终都会将数据写入 ...
- workerman 安装event 扩展
2018年7月31日10:07:47 一些小技巧 命令行直接运行PHP代码 php -r "phpinfo();" 交互模式运行PHP php -a PHP脚本作为shell脚本运 ...
- Python 模块定义、导入、优化详解
一.定义 模块:用来从逻辑上组织 python 代码(变量,函数,类, 逻辑:实现一个功能),本质就是 .py 结尾的 python文件(例如:test.py文件,对应的模块名:test) 包:用来从 ...
- API认证&SDK&RESTful
python API的安全认证 我们根据pid加客户端的时间戳进行加密md5(pid|时间戳)得到的单向加密串,与时间戳,或者其它字段的串的url给服务端. 服务端接收到请求的url进行分析 客户 ...