实验环境准备:
VMware 10
CentOS6.6
mariadb-5.5.40-linux-x86_64.tar
安装:
# groupadd -r mysql -g 306
# useradd -g mysql -u 306 -r -s /sbin/nologin -M mysql
# chown -R mysql:mysql /mydata/data
# cd /usr/local/
# ln -sv mariadb-5.5.40-linux-x86_64.tar mysql
# cd mysql
# chown -R mysql:mysql .
# scripts/mysql_install_db --user=mysql --datadir=/mydata/data
# chown -R root .
# cd /usr/local/mysql
# cp support-files/my-large.cnf /etc/my.cnf
并修改此文件中thread_concurrency的值为你的CPU个数乘以2,比如:
thread_concurrency = 2
另外还需要添加如下行指定mysql数据文件的存放位置:
datadir = /mydata/data
为mysql提供sysv服务脚本:
# cd /usr/local/mysql
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod +x /etc/rc.d/init.d/mysqld
添加至服务脚本列表
# chkconfig --add mysqld
# chkconfig mysqld on
修改环境变量
export PATH=/usr/local/mysql/bin:$PATH
现在可以启动mysql了
#############################
mysql基本用法:
mysql数据类型:
字符型:
定长:组织格式效率较高;CHAR(n);BINARY(n)#后者不区分大小写;
变长:VARCHAR(n) #n表示最长;BINARY(n) 同上;
对象:
定长对象(文本):TEXT
边长对象(二进制):BLOB
数字型:
精确数值型:
整数:tinyint,smallint,mendumint,int,bigint
近似数值型:
浮点数:float,double
日期时间型:
date time datetime timestamp year(4)
内置类型:
ENUM:
SET:
约束:
PRIMARY KEY
UMIQUE KEY
FOREIGN KEY
类型修饰符:
Null
NOT NULL
DEFAULT
数值型:
UNSIGNED(无符号)
AUTO_INCREMENT(自增)
mysql的交互式接口命令;
客户端:在mysql客户端本地执行的命令;(交互模式直接键入help查看所有);
quit | \q :退出客户端;
clear | \c:终止当前命令;
go | \g:命令结束符;
ego | \G: 利用竖排格式显示每行信息;
delimter | \d:定义语句结束符;
help | \h :获取帮助;
use | \u :设定默认数据库;
远程登陆授权:
grant all privileges on *.* to 'root'@'localhost' identified by '51cto';
# 这是个用户授权命令,亦可以作为用户创建命令
# all 表示用户权限 select delect update insert 等 ...
# *.* 表示授权作用于哪个库哪个表,*表示所有
# root 为用户名 51cto 为密码
授权完成后执行下下面这条语句;表示刷新系统权限表,不然刚才的修改可能不会生效;
flush privileges;
查看权限:
show grants for 'root'@'localhost';
删除用户;
delete from user where user="root" and host="localhost";
更新权限表
flush privileges;
修改用户密码
update mysql.user set password=password('newpass')
where user="root" and host="localhost";
更新权限表
flush privileges;
#######################
数据库基本操作语句
create database aaa; # 创建库名为aaa的库
show databases; # 查看数据库中所有的库
use aaa;# use 语句选定aaa当做默认的数据库,用于后续语句该数据库保持为默认数据库,知道语段尾或下一个use出现;
create table aaa;# 创建表aaa
show tables;# 查看当前库的所有表
增加
INSERT INTO TAB_NAME [(col1,col2)] VALUE|VALUES (val1,val2...);
删除
DELETE FROM TB_NAME [WHERE CLAUSE] [LIMIT n]
查找
SELECT col1,col2... FROM TAB_NAME [WHERE CLAUSE];
更新
UPDATE TAB_NAME SET col1=88 WHERE StuID = 3;