实验环境准备:

    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;