如下是在linux培訓機構所學的內容,感受比較亂php
MySQL學習筆記
MySQL的安裝
linux中的超級管理員root
aixocm
vnc的退出: F8
MySQL的特色、優勢:
關係型
開源、免費
c++
瑞典
sun
oracle
Linux、unix、windows
tcp/ip
多用戶、用線程、多CPU
多種存儲引擎(表的類型)
ansi/iso的sql標準
c -> s
語言, sql
structued query language
create table emp
(
);
select * from emp where empAge > 30;
sql語言
掛載光盤:
mount -o loop rhel6.3.x86.iso /var/ftp/rhel6.3
cd /var/ftp/rhel6.3/Packages
ls
1.
rpm包的方式
mysql-5.1
mysql-libs
mysql-server
php-mysql php->mysql
mysql-devel c->mysql
查詢:
rpm -q mysql
安裝:
rpm -ivh mysql-5.1 tab補齊
rpm -ivh mysql-server-5 tab補齊
server -> database -> talbes
data是存放在表中
c -> MySQL Server
客戶端與服務器端進行通訊的方式:
2種:
1. unix socket
2. tcp/ip
建立數據庫:
create database ds;
進入數據庫:
use ds;
建立表:
create table stu
(
stuID int,
stuName varchar(32), -- 32個字符 sqlServer
stuAge int
)engine=innodb charset=utf8;
show tables;
desc stu;
desc stu stuName;
show table status like 'stu'\G
show full columns from stu;
insert into stu values(1, 'tom', 20);
select * from stu;
drop table if exists stu;
show create table stu;
表類型
事務
abc
張三丰 unicode編碼
3Byte
utf8字符集, 中文字2 ~ 4個字節
3
gb2312 gbk gb18030 中文2B
字符集
insert into stu values(1, 'tom', 20);
insert into stu values(2, 'mike', 20);
insert into stu values(3, 'lee', 20);
void main(void)
{
int a, b;
a = 10;
b = 20;
}
rpm包安裝
service mysqld start
service mysqld stop
service mysqld status
ps aux | grep "mysql"
netstat -ntaup | grep "mysql"
mysql來訪問mysqld服務
用哪一個用戶身份登陸的:
status;
use mysql;
select user, password, host from user;
服務啓動後就有:
sock文件
create database ds;
use ds;
mysql的配置文件:
c和s的
client server
c和s的配置文件是同一個:
/etc/my.cnf
哪一個軟件提供的my.cnf文件:
rpm -qf /etc/my.cnf
服務器端的配置項:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql # 在安裝mysql-server軟件時會自動添加mysql這個用戶, useradd mysql
客戶端的配置項:
[mysql]
prompt=ds>>
#socket=/tmp/mysql.sock
linux基礎知識:
爲使用MySQL服務
# -------------------------------------------------------------------
得到幫助:
find / -name "*.iso"
man find
j k上下翻動, 一行一行的
/-name搜索
q退出
ls -la /boot
-l選項, 方式運行
/boot參數, 處理對象
命令通常都是二進制程序
提供許多選項
經常使用的快捷鍵:
tab
上下箭頭鍵
目錄操做:
mkdir /abc
mkdir /etc/def
mkdir /xyz/lmn -p
rm -rf /abc
touch file1
rm -rf file1
文本文件內容的顯示:
cat file1
less file1 分頁看
文件的查找:
find / -name "*.txt"
拷貝
cp file1 /etc 拷文件
cp -rv abc /tmp 拷文件夾
create table if not exists emp
(
empID int auto_increment,
empName varchar(32),
hiredate date,
salary decimal(10, 2),
deptno int,
addr varchar(64) not null default '長沙',
age int check(age >= 0 and age <= 120),
primary key(empID)
)engine=innodb charset=utf8;
create table dept
(
deptID int primary key,
deptName varchar(32)
)engine=innodb charset=utf8;
vi的使用:
命令模式 -> 輸入模式, 按i -> 命令模式, 按esc -> 末行模式, :x
輸出重定向
ls > file1
輸入重定向
管道
route -n | grep "UG" | awk '{print $2}'
用戶
超級用戶root
建立用戶: useradd jerry
會自動建立jerry的宿主目錄/home/jerry
linux中的用戶放在/etc/passwd中
刪除用戶: userdel -r jerry
-r選項會刪除jerry的宿主目錄
組
建立組: groupadd development
組放在: /etc/group
怎麼把用戶加入組: useradd jerry -g development
刪除組: groupdel development
權限
主人 屬組 其餘人
u g o
讀 r
寫 w
執行 x
chmod u-x,g+x,o-rx vnc.sh
更改主人:
chown -R tom vnc.sh
更改屬組:
chgrp -R development vnc.sh
lftp 10.0.0.254
ls
cd pub
mirror stardict
cd stardict
rpm -ivh libsigc++...
rpm -ivh stardict... startdict-dic... --nodeps
# --------------------------------------------------------------
MySQL
數據類型:
int
create table stu
(
stuID int(4) zerofill
)engine=innodb charset=utf8;
123
-123
unsigned
00000000
sql編程
create table stu
(
f1 int unsigned,
f2 int unsigned
)engine=innodb charset=utf8;
create table stu
(
stuID int auto_increment unique,
stuName2 varchar(21000),
newsConten text,
stuDate datetime,
isAdmin enum('N', 'Y'),
isHot enum('Y', 'N')
)engine=innodb charset=utf8; -- 存儲格式
select top 5 * from news where isHot = 'Y' order by newsDate desc;
utf8字符集, 中文字佔2 ~ 4
絕大部分3B
utf8, 編碼方式, unicode
ascii
a -> 97
b -> 98
c -> 99
中國字
gb2312
gbk
gb18030
AF001
BE003
/* sqlServer */
create table stu
(
stuID int identity(1, 1),
stuName varchar(32) -- 32Byte, 中 2B,
isAdmin bit -- 0 1 true false 1 0
);
select * from stu where isAdmin = 1;node
insert into stu(stuName) values('tom2');
insert into stu(stuName) values('tom3');
insert into stu(stuName) values('tom4');
int
dec(5, 2)
float
varchar(21???)
text
enum('b', 'a')
datetime
# ------------------------------------------------------
絕對路徑
/
相對路徑
從當前目錄開始
shutdown -h now 關機
init 0
shutdown -r now 關機重啓
init 6
reboot
從圖形 -> 字符: ctrl + alt + F2
從字符 -> 圖形: alt + F1
shell殼
由bash提供的命令即內部命令
help
help cd
外部命令得到幫助:
netstat --help
man netstat
查看主機名:
hostname
快捷鍵:
tab
ctrl + c
ctrl + l
ctrl + u
ctrl + k
上下箭頭鍵調出命令歷史
scp root@10.0.0.252:~/ds.txt .
pwd
cd
. 當前目錄
.. 上一級目錄
~ 用戶宿主目錄
- 上一個目錄
ls -ldtaA
-d 把文件夾看成文件
-t 按修改時間排序
-a 全部文件, 包括以.開頭的隱藏文件
-A 全部文件, 包括以.開頭的隱藏文件, 但不包括.和..
mkdir 建立
mkdir /etc/xyz
mkdir -p /abc/def
rm -rf abc 刪除
rmdir abc 刪除
du -sh /etc 查看/etc文件夾有多大
touch file{1..5} 建立空文件
touch -m file1 更新file1的修改時間
cp -p file1 /tmp 複製文件的權限、主人、屬組等屬性
cp -r abc /tmp 複製abc文件夾
cp -a abc /tmp 至關於-pr
cp -v file1 /tmp 顯示覆制詳情
mv file1 /tmp 剪切文件
mv abc /tmp 剪切文件夾
mv file1 file2 文件更名
mv abc def 把文件夾file1更名爲file2
file file1 查看file1的類型
ls -l file1
rm -rf file1 刪除文件或文件夾
ln file1 file2 對file1建硬連接文件file2
不能對文件夾硬連接
ln file1 file2 -s 對file1建符號連接文件file2
ln abc def -s 對abc文件夾建符號連接def
cat -n /etc/passwd
less /etc/passwd
head -3 /etc/passwd
tail -3 /etc/passwd
which ls 找出外部命令ls放在什麼地方
whereis ls 同which,同時列出
find / -name "*.mp3" 文件查找, 根據名字
find / -type f 文件查找, 根據類型, man find看類型mysql
壓縮
zip 壓縮文件名 文件1 文件2
unzip abc.zip 解壓
unzip 壓縮文件名
gzip file1 file2 jile1->file1.gz file2->file2.gz
gzip -9 file1 file2 -9表示高壓縮比率,默認爲6
zcat file1.gz 不解壓file1.gz查看裏面的內容
gzip -d file1.gz 解壓file1.gz
gzip不能壓縮文件夾
bzip2 file1 file2 jile1->file1.bz2 file2->file2.bz2
bzip2 -9 file1 file2
bzcat file1.bz2 不解壓file1.bz2查看裏面的內容
bzip2 -d file1.bz2 解壓file1.bz2
bzip2也不能壓縮文件夾比gzip壓縮比率大
用的最多的是tar命令tar命令
用途:製做歸檔文件,釋放歸檔文件
格式:tar 【選項】... 歸檔文件名 源文件或目錄
tar 【選項】... -C 建包或解包時進入指定的相對路徑
tar cjvf ds.tar.bz2 file1 file2 dir1 使用bzip2標準壓縮file1 file2 dir1包名爲ds.tar.bz2
tar czvf ds.tar.gz file1 file2 dir1 使用gzip標準壓縮file1 file2 dir1包名爲ds.tar.gz
tar tvf ds.tar.gz 查看壓縮文件ds.tar.gz的內容
tar xvf ds.tar.gz -C /tmp 將ds.tar.gz釋放到tmp文件夾下面去
-c:創建
-C:建包或解包時進入指定的相對路徑
-x:解壓文件
-t:查看壓縮文件
-z:使用gzip標準進行壓縮、解壓
-j:使用bzip2標準進行壓縮、解壓
-v:顯示壓縮解壓過程
-f:後面緊跟壓縮文件名稱
-p:使用原文件的原來屬性
-P:使用絕對路徑(最好不用)
--exclude file:壓縮過程當中排除file(也能夠是目錄)
擴展:
tar cjvf ds-`date+%F`.tar.bz2 file1 file2 dir1 (`date+%F`是指將獲取到的年月日做爲包名內容)linux