yum安裝
1、yum install mysql-server
/var/lib/mysql 用戶存放的位置
2、chkconfig –list mysqld 查看是否啟動
3、chkconfig mysqld on 設置為開機啟動
4、ss -ntl;service mysqld start 開啟服務 端口號為3306
/!可以執行linux系統
show databases; 查看數據列表
use mysql 進入數據庫
quit退出
drop table 刪除表
drop database刪數據庫
二進制安裝
首先一定要確認系統沒有安裝
rpm -q mariadb-server 檢查
rpm -q mysql-server 檢查
ss -ntl 查看端口
把二進制文件考進來 rz
getent passwd mysql 查看有沒有mysql用戶
useradd -r -d /data/mysqldb -s /sbin/nologin mysql創建用戶
getent passwd mysql檢查
id mysql 檢查
tar xvf mariadb -10. -C(指定安裝在哪兒)/usr/local/
ls /usr/local/
ln -s mariadb -10 / mysql 創建軟連接
chown -R root:root mysql/ 把所有者所屬組都改為root
echo PATH=/usr/local/mysql/bin:$PATH > /etc/profile.d/mysql.sh 放到bash
echo $PATH
加硬盤
lsblk
echo‘- – -’ > /sys/class/scsi_host/host2/scan 掃描出硬盤
pvcreate /dev/sdb
pvdislay
cgcreate vg0 /dev/sdb
lvcreate -n lv_mysql -l 100%FREE vg0
lvs 查看
mkfs.xfs /dev/vg0/lv_mysql 格式化一下
blkid查看
mkdir /data/ 創建文件夾
vim /etc/fstab寫文件
:r!blkid /dev/vg0/lv_mysql 寫UUID 掛在到/data/
mount -a
df -h
mkdir /data/mysqldb
ll -d /data/mysqldb
chown mysql.mysql /data/mysqldb
chmod 770 /data/mysqldb
創建數據庫
cd mysaql/
pwd usr /local/mysql
cd scripts/
scripts/mysql_install_db –datadir=/data/mysqldb –user=mysql
ok沒問題
ls support-files/
cp /etc/my.cnf{,.bak}備份
cp support-files/my-huge.cnf /etc/my.cnf
配置數據庫
vim /etc/my.cnf
socket =/usr/local/mysaq/mysaql.sock
datadir =/data/mysqldb
/usr/local/mysaq/mysaql.sock
啟動數據庫
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig –list
chkconfig –add mysqld
service mysqld start
setfacl -R -m u:mysql:rwx /usr/local/mysql/
mysql_secure_insatallation
mysql_secure_installation 跑一遍安全腳本
SQL語句
/*注釋內容*/ 多行注釋
— 注釋內容 單行注釋,注意有空格
? MySQL注釋:#
select user,host,password from user;-xxx查詢用戶賬號
(每個數據庫存放相同的資源 不能出現出現相同的名字)
SQL語句分類
SQL語句分類:
DDL: Data Defination Language
CREATE, DROP, ALTER
DML: Data Manipulation Language :數據操作
INSERT, DELETE, UPDATE 增,刪,改
DCL:Data Control Language :數據控制語言
GRANT, REVOKE 授權,撤銷權限
DQL:Data Query Language :數據查詢語言
SELECT 查詢
create database db1;創建數據庫 可以加[IF NOT EXTISTS]如果存在
CHAACTER SET ‘character set name’字符集
COLLATE ‘collate name’ 排序
DROP DATABASE 刪除數據庫
/! Linun 命令
show databases; 查看數據庫列表
use db1 指定數據庫
primary key 主見
show tables; 查看表
desc students; 查看表結構
show table status like ‘students’\G 以豎行查看表的狀態信息
select * from stydents; 查看表內容
update
select 查詢
create table students (id tinyint unsigned not null primary key ,name char(10) not null,phone char(11),sex char(1) ); 創建一個學生表
查看所有的引擎:SHOW ENGINES
查看表:SHOW TABLES [FROM db_name]
查看表結構:DESC [db_name.]tb_name
刪除表:DROP TABLE [IF EXISTS] tb_name
查看表創建命令:SHOW CREATE TABLE tbl_name
查看表狀態:SHOW TABLE STATUS LIKE ‘tbl_name’
查看庫中所有表狀態:SHOW TABLE STATUS FROM db_name
選擇正確的數據類型對于獲得高性能至關重要,三大原則:
更小的通常更好,盡量使用可正確存儲數據的最小數據類型
簡單就好,簡單數據類型的操作通常需要更少的CPU周期
盡量避免NULL,包含為NULL的列,對MySQL更難優化
? tinyint(m) 1個字節 范圍(-128~127)
? smallint(m) 2個字節 范圍(-32768~32767)
? mediumint(m) 3個字節 范圍(-8388608~8388607)
? int(m) 4個字節 范圍(-2147483648~2147483647)
? bigint(m) 8個字節 范圍(+-9.22*10的18次方)
取值范圍如果加了unsigned,則最大值翻倍,如tinyint unsigned的取值范圍
為(0~255)
int(m)里的m是表示SELECT查詢結果集中的顯示寬度,并不影響實際的取值范
圍,規定了MySQL的一些交互工具(例如MySQL命令行客戶端)用來顯示字符
的個數。對于存儲和計算來說,Int(1)和Int(20)是相同的
? BOOL,BOOLEAN:布爾型,是TINYINT(1)的同義詞。zero值被視為假。
非zero值視為真
字符串(char,varchar,_text)
? char(n) 固定長度,最多255個字符
? varchar(n)可變長度,最多65535個字符
? tinytext 可變長度,最多255個字符
? text 可變長度,最多65535個字符
? mediumtext 可變長度,最多2的24次方-1個字符
? longtext 可變長度,最多2的32次方-1個字符
? BINARY(M) 固定長度,可存二進制或字符,長度為0-M字節
? VARBINARY(M) 可變長度,可存二進制或字符,允許長度為0-M字節
? 內建類型:ENUM枚舉, SET集合
所有類型:
? NULL 數據列可包含NULL值
? NOT NULL 數據列不允許包含NULL值 不允許為空
? DEFAULT 默認值 ‘m”w’
? PRIMARY KEY 主鍵
? UNIQUE KEY 唯一鍵
? CHARACTER SET name 指定一個字符集
? 數值型
? AUTO_INCREMENT 自動遞增,適用于整數類型
? UNSIGNED 無符號整數
create table emp 創建員工表
( id int unsigned auto_increment unsigned primary key, id是主鍵 整數 編號自動遞增
name varchar(30) not null, 名字 30個字節 不為空
sex char(1) default ‘m’, 性別默認為m
address varcgar(100) ) engine=innodb charset=utf8; 地址為100字節 存儲引擎為innodb 字符集為utf8
show create table 名字\G 查看建表時的命令 可以直接復制在建立一張表
use db1
select user,host,password from mysql.user; 查看user表
create table user select user,host,password from mysql.user; create table 可以直接建立出user表
create table user select user,host,password from mysql.user where 1 = 0 ;只復制表結構
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/100969