日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

mysql的安装和基本命令_MySQL安装以及简单命令用法

發(fā)布時(shí)間:2025/3/11 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql的安装和基本命令_MySQL安装以及简单命令用法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

MYSQL:關(guān)系型數(shù)據(jù)庫(kù)

存儲(chǔ)引擎:負(fù)責(zé)將邏輯層的概念轉(zhuǎn)化為物理層機(jī)制,在物理層完成物理機(jī)制。

支持事務(wù):transaction

必須滿足的條件:ACID(一致性,持久性,原子性,隔離性)

鎖:并發(fā)訪問

隨機(jī)訪問:數(shù)據(jù)在磁盤上是隨機(jī)存儲(chǔ)的

安裝:

OS Vendor使用操作系統(tǒng)安裝:

以CentOS為例:mysql,

mysql-server:

mysql-devel:編譯安裝時(shí)需要

MySQL官方提供的安裝:官方網(wǎng)站:www.mysql.com

源碼編譯安裝

通用二進(jìn)制格式程序包安裝

rpm包安裝

還可以通過鏡像下載:http://mirrors.sohu.com/

MySQL的配置文件:my.cnf,集中式多段配置文件

MySQL服務(wù)器程序:mysqld

客戶端程序:mysql, mysqldump, mysqladmin

建議在生產(chǎn)環(huán)境中將mysql安裝在邏輯卷上,這樣方便以后的管理,空間不夠的話可以增大空間。

datadir: /var/lib/mysql/

datadir: /usr/local/mysql/data/

mysqld: mysql,:mysql

以mysql用戶的身份操作,屬主和屬組都為mysql,并且對(duì)所操作的目錄有讀和寫的權(quán)限。

安裝操作

1:創(chuàng)建邏輯卷并掛載

創(chuàng)建磁盤分區(qū)

#fdisk /dev/sda

創(chuàng)建物理分區(qū)

#pvcreate /dev/sda{3,5}

創(chuàng)建卷組為myvg

#vgcreate myvg /dev/sda{3,5}

創(chuàng)建邏輯卷mydata

#lvcreate -L 20G -n mydata myvg

對(duì)其進(jìn)行格式化

#mke2fs -t ext4 -L MYDATA -b 2048 /dev/myvg/mydata

進(jìn)行掛載

#mkdir /mydata

#mount -a

要使得能夠開機(jī)自動(dòng)掛載,需要編輯配置文件/etc/fstab

在/mydata下創(chuàng)建data目錄

#mkdir/mydata/data

2:解壓安裝

添加系統(tǒng)用戶mysql

#useradd -r mysql

修改屬主和屬組

#chown -R mysql:mysql /mydata/data

下載的文件解壓到/usr/local/

#tar xfmysql-5.5.33-linux2.6-x86_64.tar.gz -C /usr/local

在這里,我們還有查看是否安裝啟動(dòng)別的mysql版本的服務(wù)器,如果有,那么我們需要將其關(guān)閉

#ss -tanl其中3306端口需要是關(guān)閉狀態(tài)

在/usr/local/下

#ln -sv mysql-5.5.33-linux2.6-x86_64 mysql

#chown -R root:mysql /usr/local/mysql/*

#cd mysql/support-files有樣例,我們可以根據(jù)自己的需要選擇

將選擇的文件復(fù)制一份到/etc/目錄下并修改文件名為my.cnf

#cp my-large.cnf /etc/my.cnf

3:修改配置文件

#vim /etc/my.cnf

找到相關(guān)設(shè)置進(jìn)行修改操作

thread_concurrency = 4并發(fā)核心數(shù),如果物理核心為2,這里就可以填寫4

在下面添加datadir = /mydata/data

添加

innodb_file_per_table = 1 ?每表一個(gè)表空間

服務(wù)腳本

#cp mysql.server /etc/rc.d/init.d/mysqld

添加mysql服務(wù)

#chkconfig --add mysqld

啟動(dòng)mysql

#service mysqld start

這時(shí)候顯示啟動(dòng)失敗了,分析出來我們要先初始化,因而我們安裝mysql時(shí)要注意,第一次安裝啟動(dòng)時(shí)要進(jìn)行初始化,對(duì)所出現(xiàn)的問題我們進(jìn)行處理

先將/mydata/data/下的所有文件刪除掉

#rm -rf /mydata/data/*

進(jìn)行初始化

#cd /usr/local/mysql/

#scripts/mysql_install_db --user=mysql --datadir=/mydata/data/初始化成功

啟動(dòng)服務(wù)

#service mysqld start

這時(shí)候還不能連接客戶端

# vim /etc/profile.d/mysql.sh

export PATH=/usr/local/mysql/bin:$PATH

執(zhí)行腳本

# . /etc/profile.d/mysql.sh

#mysql就可以進(jìn)入了

4:因?yàn)槲覀兊陌惭b不在標(biāo)準(zhǔn)路徑下,所以還要導(dǎo)出相關(guān)文件

導(dǎo)出幫助文件

#vim /etc/man.config

MANPATH /usr/local/mysql/man

導(dǎo)出頭文件

#ln -sv /usr/local/mysql/include /usr/local/mysql

導(dǎo)出庫(kù)文件

#vim /etc/ld.so.conf.d/mysql.conf

/usr/local/mysql/lib

至此我們的mysql配置完成。

mysql> show [global|session] variables;顯示服務(wù)器參數(shù)變量

有些變量的值可以修改,能夠改變mysql的工作特性

有些可以動(dòng)態(tài)調(diào)整,即刻生效;

另外一些只能修改配置文件后,重啟生效;

mysql> show [global|session] status;顯示服務(wù)器狀態(tài)變量,記錄了當(dāng)前包括過去的時(shí)間內(nèi)mysql的運(yùn)行統(tǒng)計(jì)數(shù)據(jù)

MySQL用戶名:USERNAME@HOST

mysql客戶端執(zhí)行命令:

客戶端命令:不需語(yǔ)句結(jié)束符

mysql> help

服務(wù)器端命令:特指SQL語(yǔ)句,必須有語(yǔ)句結(jié)束符,默認(rèn)為分號(hào);

mysql> help COMMAND

用戶管理:

創(chuàng)建用戶:

CREATE USER username@host [IDENTIFIED BY 'password'];

用戶或主機(jī)可以使用通配符:

%:匹配任意長(zhǎng)度的任意字符;

_: 匹配任意單個(gè)字符;

例如:CREATE USER‘wpuser’@‘172.16.%.%’IDENTIFIED BY 'wppass'

允許172.16.網(wǎng)段的主機(jī)連接創(chuàng)建wpuser用戶 ?密碼為wppass

用戶授權(quán):GRANT ALL PRIVILEGES ON dbname.tablename TO username@host [IDENTIFIED BY 'password'];

dbname.tablename ?dbname表示庫(kù)名

tablename表示表名

修改用戶密碼:

1、mysql> SET PASSWORD FOR username@host=PASSWORD('password');

2、# mysqladmin -uusername password 'password' -p

-p 后面跟以前的密碼

刪除用戶:DROP USER username@host;

授權(quán)

GRANT ALL ON *.* TO 'root'@'172.16.%.%' IDENTIFIED BY 'mypass';有特殊符號(hào)需要用引號(hào)引起來

mysql>SELECT VERSION(); ? ?顯示版本號(hào)

mysql>SHOW DATABASES; ? ? ?顯示數(shù)據(jù)庫(kù)

mysql>SELECT user,host,password FROM user; 從user表查詢user,host,password 相關(guān)信息

mysql>FLUSH PRIVILEGES; ? 重讀授權(quán)表

加密碼:

mysql>SET PASSWORD FOR‘root‘@host=PASSWORD('password');

創(chuàng)建表:

mysql>CREATE TABLE tb_name (col1 defination, col2 defination, ..., key defination);

刪除表:

mysql>DROP TABLE tb_name;

INSERT INTO ?:插入內(nèi)容

SELECT 字段FROM表WHERE ;

字段:

col1, col2

*

col1 AS NEWNAME, col2,

比較運(yùn)算:>, =, <=, =, !=

NULL: IS NULL, IS NOT NULL

LIKE :

%: 任意長(zhǎng)度的任意字符

_:任意單個(gè)字符

IN (LIST)

RLIKE: 正則表達(dá)式書寫模式

UPDATE 表名SET字段名=值WHERE;

DELETE FROM 表名WHERE ;

mysql>

quit, \q退出

delimiter, \d變換語(yǔ)句結(jié)束符,定義使用的結(jié)束符

go, \g不知道結(jié)束符而把語(yǔ)句送到服務(wù)器端去執(zhí)行

use, \u設(shè)定默認(rèn)數(shù)據(jù)庫(kù)

ego, \G不知道結(jié)束符而把語(yǔ)句送到服務(wù)器端去執(zhí)行,并且將每一行的結(jié)果縱向顯示

system, \!不退出當(dāng)前mysql客戶端程序而執(zhí)行系統(tǒng)命令

status, \s顯示當(dāng)前mysql服務(wù)器的狀態(tài)信息

mysql:執(zhí)行方式有兩種

交互式方式:

-h, --host=指定要連接的遠(yuǎn)程主機(jī)

-u, --user=指定用戶名

-p, --password=密碼

-D db_name, --database=可以直接將某個(gè)指定的數(shù)據(jù)庫(kù)設(shè)定為數(shù)據(jù)庫(kù)

-e 'SQL_Statement;'不會(huì)連接到主機(jī),而是將命令送到對(duì)方主機(jī)后直接將結(jié)果取回來

批處理模式:(使用sql腳本)

mysql OPTIONS < script.sql

mysql> source /path/to/script.sql

#vim test.sql

create database wpdb;

Create user‘wpuser’@’172.16.%.%’identified by‘wppass’;

Create user‘wpuser’@’localhost’identified by‘wppass’;

Grant all wpdb.*‘wpuser’@’172.16.%.%’;

Grant all wpdb.*‘wpuser’@’localhost’;

#mysql -uroot -pmypass < test.sql

mysqld, mysql: /etc/my.cnf配置文件

/etc/my.cnf, /etc/mysql/my.cnf, $MYSQL_BASE/my.cnf, ~/.my.cnf

#vim .my.cnf

[client]

user=root

host=localhost

password=mypass

#chmod 600 .my.cnf 修改權(quán)限對(duì)當(dāng)前用戶有效

這樣本機(jī)用戶就不用每次都指定用戶名、主機(jī)名、密碼了,而其他用戶不會(huì)有權(quán)限,

顯示所支持的所有字符集:

mysql> SHOW CHARACTER SET;

顯示所有字符集的排序規(guī)則:

mysql> SHOW COLLATION;

關(guān)系型數(shù)據(jù)庫(kù):

Constraint:

主鍵:primary key

不能為空,惟一;

惟一鍵:uniq key

可以為空,惟一;

外鍵:foreign key

引用性約束

檢查性約束:

0

MySQL基礎(chǔ)操作練習(xí)(所屬的庫(kù)叫做testdb):

新建如下表(包括結(jié)構(gòu)和內(nèi)容):

ID ? ?Name ? ? ? ? ?Age ? ? Gender ? ? Course

1 ? ? Ling Huchong ? 24 ? ? ?Male ? ? ? Huashan

2 ? ? Huang Rong ? ?19 ? ? ?FemaleEmen

3 ? ? Lu Wushaung ? 18 ? ? ?FemaleHengshan

4 ? ? Zhu Ziliu52 ? ? ?MaleKongdong

5 ? ? Chen Jialuo22 ? ? ?MaleShaolin

創(chuàng)建庫(kù):

mysql>create database testdb

啟用testdb庫(kù)

mysql>use testdb

創(chuàng)建表tb1

mysql>CREATE TABLE tb1 (ID TINYINT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, Name CHAR(30) NOT NULL UNIQUE KEY, Age TINYINTUNSIGNED, Gender CHAR(1) DEFAULT 'M', Course VARCHAR(50) NOT NULL);

查看數(shù)據(jù)庫(kù)

mysql> show databases;

DESCRIPTION tb1 查看有幾個(gè)字節(jié)

插入內(nèi)容

mysql> insert into tb1 values (1,'Ling Huchong',24,'Male','Huashan');

mysql> insert into tb1 values (2,'Huang Rong',19,'Female','Emen');

mysql> insert into tb1 values (3,'Lu Wushaung',18,'Female','Hengshan');

mysql> insert into tb1 values (4,'Zhu Ziliu',52,'Male','Kongdong');

mysql> insert into tb1 values (5,'Chen Jialuo',22,'Male','Shaolin');

至此tb1表所有內(nèi)容都存在了,可以查看一下:

2、完成如下操作

(1)找出性別為女性的所有人;

mysql> SELECT name FROM tb1 WHERE Gender='Female';

(2)找出年齡大于20的所有人;

mysql> SELECT name FROMtb1WHERE Age>20;

(3)修改Zhu Ziliu的Course為Wudang;

mysql> UPDATEtb1SET Course='Wudang' WHERE name='Zhu Ziliu';

(4)刪除年齡小于等于19歲的所有人;

mysql> DELETE FROMtb1WHERE Age<=19;

(5)創(chuàng)建此表及所屬的庫(kù);

(6)授權(quán)給testuser對(duì)testdb庫(kù)有所有訪問權(quán)限;

mysql> GRANT ALL ON testdb.* TO 'testuser'@'%';

mysql>DROP TABLE tb1;刪除表tb1

總結(jié)

以上是生活随笔為你收集整理的mysql的安装和基本命令_MySQL安装以及简单命令用法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。