安裝和使用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;