一、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的更多相关文章

  1. centos7 高速安装 mariadb(mysql)

    从最新版本的linux该系统启动,缺省值是 Mariadb代替mysql! 使用系统自带repos安装非常easy: yum install mariadb mariadb-server system ...

  2. MariaDB与MySQL在一台服务器同时运行

    [root@HE3 ~]#groupadd mariadb -g 513 [root@HE3 ~]#useradd-u 513 -gmariadb -s /sbin/nologin -d /home/ ...

  3. mariaDB vs mysql

    mariaDB vs mysql 今天遇到一个库使用的是mariaDB的数据库版本 Server version: 10.1.20-MariaDB MariaDB Server 理了一下mariaDB ...

  4. MariaDB 和 MySQL 比较

    MariaDB.org - Supporting continuity and open collaborationhttps://mariadb.org/ MariaDB 和 MySQL 比较 - ...

  5. MariaDB MariaDB、MySQL存储过程、游标基础应用举例说明

    MariaDB.MySQL存储过程.游标基础应用举例说明 by:授客 QQ:1033553122 测试环境: MariaDB-10.0.19-centos7-x86_64 实践操作: # 创建测试数据 ...

  6. 数据库对比:选择MariaDB还是MySQL?

    作者 | EverSQL 译者 | 无明 这篇文章的目的主要是比较 MySQL 和 MariaDB 之间的主要相似点和不同点.我们将从性能.安全性和主要功能方面对这两个数据库展开对比,并列出在选择数据 ...

  7. MariaDB与MySQL并存

    以下是MariaDB官方文档说明,MariaDB如何安装在已经存在MySQL实例的主机上: https://mariadb.com/kb/en/library/installing-mariadb-a ...

  8. Buildroot MariaDB替代MySQL

    /********************************************************************************* * Buildroot Maria ...

  9. mariadb或者mysql查看某个库相关的用户授权信息

    mariadb或者mysql查看某个库相关的授权信息 SELECT * FROM mysql.Db WHERE Db='DB_NAME';

随机推荐

  1. 用cocoapods导入第三方库,找不到对应的文件

    解决办法 1.找到TARGETS -> Build Settings -> SearchPaths -> User Header Search Paths  在后面的空白处双击 2. ...

  2. vue全选反选demo

    <template> <div> <div class="xuanze"> <label><input type=" ...

  3. 107个JS常用方法(持续更新中)

    1.输出语句:document.write(""); 2.JS中的注释为//3.传统的HTML文档顺序是:document->html->(head,body)4.一个 ...

  4. Linux命令 file

    查看文件类型:

  5. connection reset by peer

    connection reset by peer https 请求返回下面的内容 {"msg":"connection reset by peer"," ...

  6. 解决 AutoMapper ProjectTo 不起作用的问题

    这两天在一个 ASP.NET Core 项目中遭遇了 AutoMapper ProjectTo 不起作用的奇怪问题,虽然在 ProjectTo 中指定了 DTO ,但 EF Core 生成的 SQL ...

  7. Mac苹果电脑没有声音怎么办

    有时候 Mac 从睡眠状态恢复之后没有声音,这是 Mac OS X 系统的一个 Bug.这是因为 Mac OS X 的核心音频守护进程「coreaudiod」出了问题,虽然简单的重启电脑就能解决,但是 ...

  8. LeetCode 171 Excel Sheet Column Number 解题报告

    题目要求 Given a column title as appear in an Excel sheet, return its corresponding column number. For e ...

  9. [vue--开发记录]使用location.href修改地址跳转页面在ie上遇到的坑

    管理后台项目上在用vue2.0开发,因为刚转vue2.0,不是太熟悉.在跳转页面的时候直接用location.href来修改地址跳转,在chrome和火狐上展现都是正常的.后面因为说要兼容到IE9,就 ...

  10. spy-debugger 安装以及使用

    参考链接:https://github.com/wuchangming/spy-debugger