搭建LAMP架構之mysql5.5安裝和基本管理

MySQL數據庫系統mysql


MySQL安裝(源碼包安裝)linux

卸載系統中已存在的MySQLrpm版軟件c++


安裝前工做sql


建立mysql程序用戶數據庫

useradd-s/sbin/nologin緩存


安裝工具bash

yuminstall-yncurses-develcmakemakegccide

gcc-c++工具


1.配置spa

cmake\

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql\

-DMYSQL_DATADIR=/home/mysql/\

-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock\

-DWITH_MYISAM_STORAGE_ENGINE=1\

-DWITH_INNOBASE_STORAGE_ENGINE=1\

-DWITH_ARCHIVE_STORAGE_ENGINE=1\

-DWITH_BLACKHOLE_STORAGE_ENGINE=1\

-DENABLED_LOCAL_INFILE=1\

-DDEFAULT_CHARSET=utf8\

-DDEFAULT_COLLATION=utf8_general_ci\

-DEXTRA_CHARSETS=all\

-DWITH_SSL=system\

-DMYSQL_TCP_PORT=3306\

-DENABLE_DOWNLOADS=1\

-DWITH_SSL=bundled


若是在配置的時候報錯,以後從新配置的時候須要清除緩存文件,在接着安裝

rm-fCMakeCache.txt

2.make;makeinstall


mysql主配置文件

/etc/my.cnf

在源碼包所在目錄的support-files目錄中有配置文件的模板,能夠拷過去直接使用

cpsupport-files/my-medium.cnf/etc/my.cnf


更改安裝目錄權限,使mysql程序有權限管理

chown-Rmysql.mysql/usr/local/mysql

更改PASH變量,方便管理mysql

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

(要永久生效能夠寫在~/.bash_profile等配置文件中)

mysql加爲系統程序,方便管理

在源碼包所在目錄的support-files目錄中有mysql的服務腳本文件mysql.server

cpsupport-files/mysql.server/etc/init.d/mysqld

chkconfig--addmysqld

chkconfig--level35mysqldon


初始化mysql

/usr/local/mysql/scripts/mysql_install_db\

--user=mysql\

--ldata=/var/lib/mysql\

--basedir=/usr/local/mysql\

--datadir=/home/mysql

(初始化腳本mysql_install_db位於安裝目錄的scripts文件夾中,--user指定用戶,--ldata指定連接文件,--basedi指定基本目錄,--datadir指定數據目錄)


由於配置時指定了-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock可實際此文件在/var/lib/mysql/mysql.sock目錄下,因此我要給它設置一個連接

ln-s/var/lib/mysql/mysql.sock/home/mysql/mysql.sock


編輯服務腳本文件/etc/init.d/mysqld文件,指定安裝的目錄和數據文件保存文件的目錄

vi/etc/init.d/mysqld

basedir=/usr/local/mysql

datadir=/home/mysql


啓動mysql程序

servicemysqldstart

查看程序是否啓動

netstat-anptu|grepmysqd




以上步驟作完後,mysql的安裝和初始化作好了,就可使用了

登陸數據庫

mysql-uroot

-p:使用密碼

-h:登陸遠程數據庫

修改mysql數據庫root密碼

mysqladmin-uroot-ppassword'新密碼'需輸舊密碼


數據庫的提示符爲mysql>,命令大小寫不敏感;且每一個命令都以分號;號結尾,若沒以分號結尾,將表明命令沒有結束,只是強制換行而已,等同於linux命令行中的\鍵。


下面是mysql環境下的一些命令

增長命令

CREATEDATABASEbenet;新建benet數據庫

usebenet;進入benet數據庫

CREATETABLEusers(user_nameCHAR(16)NOTNULL,user_passwdCHAR(48)DEFAULT'',PRIMARYKEY(user_name));建立表名爲users

user_name表示第1行名稱,「char(16)」表示類型爲字符串,最大爲16數值,「notnull」表示值不能爲空;user_passwd」表示第2行,DEFAULT''表示能夠爲空primarykey(user_name)表示主鍵名

INSERTINTOusers(user_name,user_passwd)VALUES('zhangsan',PASSWORD('123456'));users表中插入一條內容,若是插入的每一個字段都包含內容,(user_name,user_passwd)能夠省略


刪除命令

DELETEFROMusersWHEREuser_name='lisi';

刪除user表中lisi的內容

DROPFROMusers;刪除user表中全部內容

DROPTABLEusers;刪除users

DROPDATABASEbenet;刪除benet數據庫


更改命令

UPDATEmysql.userSETpassword=PASSWORD('123456')WHEREuser='root';更改rootpassword


查看命令

showdatabases;查看全部數據庫

usetest;進入test數據庫

showtables;查看數據中的表

describeuser;查看user表的信息

select*fromuser;查看user表裏的內容

selectuserfromuser;查看user表裏的user這個用戶字段裏有哪些用戶

SELECTuser,host,passwordFROMmysql.userWHEREuser='';查看mysql庫中user表中user,host,passworduser字段爲空的行


用戶受權

GRANTselectONauth.*TO'tom'@'localhost'IDENTIFIEDBY'密碼'新建tom用戶,對其受權只能查詢以auth開頭的全部表,或auth中的全部表,且只能在localhost登錄,能夠爲IP

flushprivileges;刷新受權信息


備份與恢復

備份和恢復是在bash環境下執行,是linux命令,而不是在mysql環境下

備份

mysqldump-uroot-p--opt--all-databases>all-data.sql

備份全部數據庫

mysqldump-uroot-p--databasebenet>benet.sql

備份benet數據庫


還原

mysql-uroot-p<all-data.sql

all-data.sql爲備份的文件,若是隻是某個數據庫的備份,能夠在-p後面跟上數據庫名

相關文章
相關標籤/搜索