MySQL是一種開放源代碼的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),,雖然功能未必很強(qiáng)大,,但因它的免費(fèi)開源而廣受歡迎,。
這次,,接著上一篇《CentOs minimal安裝和開發(fā)環(huán)境部署》,講下Linux環(huán)境mysql的安裝,、初始化配置,、以及參數(shù)優(yōu)化,,中間會穿插在實(shí)際操作過程中遇到的新知識擴(kuò)展,。有些是承接上面的知識,,如果不太清楚,,可以到上一篇去看下,。 一、安裝準(zhǔn)備 下載得到安裝包很簡單,。 1,、rpm安裝:A、在linux下使用wget獲取 B,、在虛擬機(jī)所在的宿主機(jī)windows下,,在網(wǎng)絡(luò)上下載Rpm安裝包,然后通過之前我們配置的samba共享目錄拷貝到centos下,。 單獨(dú)下載要注意你需要的rpm包: MySQL-server-5.1.x-0.i386.rpm //服務(wù)端 MySQL-client-5.1.x-0.i386.rpm //客戶端 MySQL-devel-5.1.x-0.i386.rpm //開發(fā)包 2,、yum 在線安裝:使用CentOs的Yum(如果有特定的Mysql版本需求,要確定你的Yum庫里有需要的mysql版本) Yum (Yellow dog Updater, Modified)是一個基于rpm包管理的字符前端軟件包管理器,。能夠從指定服務(wù)器自動下載rpm包并且安裝,,處理依賴性關(guān)系,并且一次安裝所有依賴的軟件包,,無須繁瑣地一次次下載,、安裝。 二、安裝Mysql 檢測當(dāng)前系統(tǒng)是否已經(jīng)安裝了mysql :運(yùn)行下面的命令,,如果已經(jīng)安裝過,,會顯示mysql的版本信息。 rpm -qa|grep mysql 如果已經(jīng)安裝過mysql,,但是不是自己需要的版本,,比如需要高版本的mysql對事件的支持等,怎么辦,?刪除唄,!注意,這可能會刪除一些相關(guān)的依賴庫而影響到其他軟件,,不過可以重新安裝,。 yum remove mysql-server mysql-devel mysql-client #刪除mysql的server、client,、以及devel 1,、rpm安裝: rpm -ivh MySQL-server-5.1.x-0.i386.rpm #安裝服務(wù)端(x:你下載的對應(yīng)版本號) rpm -ivh MySQL-client-5.1.x-0.i386.rpm #安裝客戶端 rpm -ivh MySQL-devel-5.1.x-0.i386.rpm #安裝開發(fā)包 2、yum安裝: yum -y install mysql-server #安裝服務(wù)器端 yum -y install mysql-client #安裝客戶端 yum -y install mysql-devel #安裝開發(fā)包 這里注意: A,、根據(jù)你的開發(fā)環(huán)境需要,,你可以選擇對應(yīng)的rpm包。你可以在命令行,使用"yum search mysql"搜索與mysql有關(guān)的安裝包,,從中選擇你需要的,。如果你記不住名字也可以這樣搜索下。 yum search mysql
B,、上面列出rpm包名字和簡介,,還可以通過yum info獲取具體rpm包的具體的版本信息 yum info mysql-server #列出mysql-server版本信息 yum info mysql-client yum info mysql-devel #或者 yum info mysql* #一個命令一下子列出mysql相關(guān)的所有rpm安裝包版本信息
三,、Mysql初始配置 剛剛安裝好的mysql需要進(jìn)行一定的配置,,才適合使用,。 1,、設(shè)置Mysql開機(jī)啟動 chkconfig --list mysql #查看mysql服務(wù)開機(jī)啟動狀態(tài) #如果2--5都是on,,就不需要下面的命令了 chkconfig,如果不知道是干什么的,,那現(xiàn)在來了解下 chkconfig,,用來更新(啟動或停止)和查詢系統(tǒng)服務(wù)的運(yùn)行級信息。 使用語法: chkconfig [--add][--del][--list][系統(tǒng)服務(wù)] 或 chkconfig [--level <等級代號>][系統(tǒng)服務(wù)][on/off/reset] eg: chkconfig --list [name]:顯示所有運(yùn)行級系統(tǒng)服務(wù)的運(yùn)行狀態(tài)信息(on或off),。如果指定了name,,那么只顯示指定的服務(wù)在不同運(yùn)行級的狀態(tài),。 chkconfig --add name:增加一項新的服務(wù) chkconfig --del name:刪除服務(wù) chkconfig [--level levels] name:設(shè)置某一服務(wù)在指定的運(yùn)行級是被啟動,,停止還是重置,。 0:表示關(guān)機(jī)
1:單用戶模式
2:無網(wǎng)絡(luò)連接的多用戶命令行模式
3:有網(wǎng)絡(luò)連接的多用戶命令行模式
4:不可用
5:帶圖形界面的多用戶模式
6:重新啟動
2、Mysql服務(wù)的啟動/關(guān)閉/重啟 service mysql start/shutdown/restart/status #啟動,、關(guān)閉,、重啟,、查看服務(wù)當(dāng)前狀態(tài)
或者
/etc/rc.d/init.d/mysqld start/shutdown/restart/status #啟動,、關(guān)閉,、重啟、查看服務(wù)當(dāng)前狀態(tài) 3,、安全設(shè)置 ⑴,、剛安裝時,root用戶是空的,,需要修改密碼: ?、賛ysqladmin -u root password ‘new-password’ ②或者,,登陸后,,直接修改用戶表里的密碼 mysql -u root #用root用戶登錄 1. select user,host,password from mysql.user; 查看數(shù)據(jù)庫的用戶 2. use mysql #切換到mysql表 set password for root@localhost=password('123456'); #設(shè)置指定域名下root賬號的密碼 set password for root@域名=password('123456'); 3.或者,,更常見的sql操作: update user set password=password('123456') where user=‘root@localhost’; 4,、測試 登陸: [root@dream ~]mysql -u root #匿名登錄,,已設(shè)置密碼或者刪除了匿名用戶,登陸失敗 [root@dream ~]mysql -u root -p #通過密碼用root登錄 Enter password: #在這里輸入密碼123456 [root@dream ~]mysql -u root -p 123456 #顯示密碼登陸 sql操作: mysql> create database test; #建立名為test的數(shù)據(jù)庫,,這個庫安裝后就有的,。 mysql> show databases; #查看系統(tǒng)已存在的數(shù)據(jù)庫 mysql> use test #切換到指定的數(shù)據(jù)庫 mysql> create table tbl_user(ID int, Name varchar(50)); #建立表 mysql> show tables; #查看數(shù)據(jù)庫中已存在的表 mysql> drop table tbl_user; #刪除表 mysql>drop database test; #刪除名為test數(shù)據(jù)庫 mysql> exit #退出MySQL服務(wù)器
5、NaviCat遠(yuǎn)程連接的權(quán)限問題 遠(yuǎn)程登錄會出現(xiàn)如下提示: 1103 - host xxx.xxx.xxx.xx is not allowed to connec to this mysql server. 或 1045 - Access denied for user 'root'@'192.168.1.11' (using password: YES). 解決方案: //mysql訪問 grant all privileges on *.* to 'root'@'%' identified by '123456'; #其實(shí)就是權(quán)限問題,,設(shè)置root在所有域名(%表示任何地址)登陸時,,賦給所有權(quán)限,密碼123456,。根據(jù)需要可設(shè)置更嚴(yán)格些,。
四、數(shù)據(jù)庫和表的導(dǎo)入,、導(dǎo)出 1.導(dǎo)出整個的數(shù)據(jù)庫:mysqldump -u 用戶名 -p 數(shù)據(jù)庫名 > 導(dǎo)出的文件名 mysqldump -u root -p db_test >/home/bak/dbtest.sql 2.導(dǎo)出指定數(shù)據(jù)庫中的一個表:mysqldump -u 用戶名 -p 數(shù)據(jù)庫名 表名> 導(dǎo)出的文件名 mysqldump -u root -p db_test tbl_user >/home/bak/test_user.sql 3.只導(dǎo)出一個結(jié)構(gòu)(struct):加上-d參數(shù) mysqldump -u root -p -d –add-drop-table db_test >/home/bak/dbtest_struct.sql 4.只導(dǎo)出一個數(shù)據(jù)(data):加上-t參數(shù) mysqldump -u root -p -t –add-drop-table db_test >/home/bak/dbtest_struct.sql ⑴.只導(dǎo)出表結(jié)構(gòu) -d mysqldump -h 192.168.1.11 -u root -p 123456 -d –default-character-set=utf8 test >sql.sql ⑵.只導(dǎo)出數(shù)據(jù) -t mysqldump -h 192.168.1.11 -u root -p 123456 -t –default-character-set=utf8 test >sql.sql -t 不導(dǎo)出結(jié)構(gòu),只要數(shù)據(jù) –add-drop-table 在每個create語句之前增加一個drop table –default-character-set 設(shè)置字符集 ②.這里的導(dǎo)出文件沒有加路徑,,就是相對路徑,,當(dāng)前的目錄下的文件。 ③.密碼是顯示輸入的,,跟在-p后面,。 5.導(dǎo)入數(shù)據(jù)庫:source 命令 [root@dream ~] mysql -u root -p #登陸 mysql>use test; mysql>source /home/bak/db_test.sql
|
|