mariadb安裝和使用

安裝和使用mariadbmysql

centos 7 直接提供linux

centos 6sql

通用二進制安裝過程數據庫

一、準備數據目錄centos

以/mydata/data爲例安全


二、配置mariadb服務器

#groupadd -r -g 200 mysqlsocket

#useradd -r -g 200 -u 200 mysqltcp

#tar xf mariadb-VERSION-linux.tar.gz -C /usr/localide

#ln -s mariadb-VERSION-linux mysql

#cd /usr/local/mysql

#chown root.mysql ./*

#cripts/mysql_install_db --user=mysql --datadir=/mydata/data

#cp support-files/mysql.server /etc/rc.d/init.d/mysqld

#chkconfig --add mysqld


三、準備配置文件

配置格式:類ini格式,各程序均經過單個配置文件提供配置信息:

[prog_name]

配置文件查找次序:

/etc/my.cnf -->/etc/mysql/my.cnf --> --default-extra-file=/PATH/TO/CONF_FILE -->~/.my.cnf


#mkdir /etc/mysql

#cp support-files/my-large.cnf /etc/mysql/my.cnf


添加三個配置

datadir = /mydata/data

innodb_file_per_table = on

skip_name_resolve = on


四、啓動服務

service mysqld start

五、數據庫安全初始化

mysql_secure_installation


六、mariadb的程序組成

C:

mysql

-uUSERNAME

-hHOST

-pPASSWORD

mysqldump,mysqladmin...

S:

mysqld_safe

mysqld

mysqld_multi


七、服務監聽的兩種socket地址:

ip socket:監聽在tcp的3306端口,支持遠程通訊;

unix sock:監聽在sock文件上(/tmp/mysql.sock,/var/lib/mysql/mysql.sock),僅支持本地通訊;

server:localhost,127.0.0.1


八、命令:

客戶端命令:本地執行

mysql>help

每一個命令都有完×××式和簡寫形式:

status  --> \s

服務端命令:經過mysql協議發往發往服務器並取回結果

每一個命令都必須有命令結束符號,默認爲分號




SQL語句:


DDL:Data Defination Language

create,drop,alert


DML:Data Manipulation Language

insert,delete,update,select


grant,revoke



查看數據可支持的字符集:

mysql>show character set;

查看排序規則:

mysql>show collation;

查看支持的引擎:

show engines;


建立(刪除)數據庫:

CREATE DATABASE [IF NOT EXISTS] 'DB_NAME';

DROP DATABASE [IF EXISTS] 'DB_NAME';


mysql>CREATE DATABASE IF NOT EXISTS testdb;


建立(刪除)表:

CREATE TABLE [IF NOT EXISTS] tb_name(col1 datatype 修飾符,col2 datatype 修飾符,col3 datatype 修飾符) ENGINE='';

DROP TABLE [IF EXISTS] tb_name;


mysql>CREATE TABLE tbl1 (id INT NOT NULL,name VARCHAR(100) NOT NULL,age TINYINT);


查看錶:

mysql>SHOW tb_name [from db_name];

查看錶結構:

mysql>DESC [db_name.]tb_name;


數據類型:


字符型:

定長字符型:CHAR(#),BINARY(#)

變長字符型:VARCHAR(#),VARBINARY(#)


數值類型:

精確數值型:

整型:int

tinyint:1byte

smallint:2byte

mediumint:3byte

int:4byte

bigint:8byte

十進制:decimal

近似數值型:

單精度浮點型:

float

雙精度浮點型:

double



修飾符:

全部類型都適用

NOT NULL:非空約束

DEFAULT VALUE:設定默認值

PRIMARY KEY

UNIQUE KEY


數值型適用:

UNSIGNED   無符號型

AUTO_INCREMENT  自增加型


mysql>CREATE DATABASE testdb;

mysql>USE testdb;

mysql>CREATE TABLE students1 (id int UNSIGNED NOT NULL PRIMARY KEY, name VARCHAR(20) NOT NULL, age tinyint UNSIGNED);

mysql>DESC students;


mysql>CREATE TABLE students2 (id int UNSIGNED NOT NULL, name VARCHAR(20) NOT NULL, age tinyint UNSIGNED, PRIMARY KEY(id,name));

mysql>DESC students2;


獲取幫助:

mysql>HELP CREATE TABLE;


查看建立表時的命令:

mysql>SHOW CREATE TABLE students2;


查看錶狀態:

mysql>SHOW TABLE STATUS LIKE 'students2'\G      \G-->值豎行顯示


ALTER TABLE tb_name

字段:

添加字段:ADD

ADD col1 datatype [FIRST|AFTER col_name];

刪除字段:DROP


修改字段:ALTER,CHANGE,MODIFY

CHANGE id sid int UNSIGNED NOT NULL;


字段的添加:

mysql>ALERT TABLE students1 ADD gender ENUM('m','f') AFTER name;

mysql>ALERT TABLE students1 CHANGE id sid int UNSIGNED NOT NULL;


添加索引:

mysql>ALERT TABLE students1 ADD INDEX(age);

查看索引:

mysql>SHOW INDEXES FRON students1;

相關文章
相關標籤/搜索