MySQL資料庫安裝,配置My.ini檔案
最近在做專案開發時用到了MySql資料庫,在看了一些有關MySql的文章後,很快就上手使用了。在使用的過程中還是出現了一些問題,因為使用的是綠色免安裝版的MySql所以在配置的時候出現了一些問題,該篇文章就主要針對MySql綠色版的配置及其使用進行討論。
一、MySql概述
MySql資料庫是有瑞典MySql AB公司開發,現在該公司被Oracle收購屬於Oracle所有。同SQL Server類似,它也是基於關係型資料庫的資料庫管理系統,在Web應用方面MySQL是最好的RDBMS之一,因為它屬於輕量級的RDBMS。
現在MySql的最新版本是5.6.17,最新下載地址:http://dev.mysql.com/downloads/mysql/,下載完成了接下來進行安裝部署了,有關安裝部署的內容在網上檢視下教程就可以。
二、MySql配置
既然MySql採用的是SQL為基礎,那麼他就包含基本的DML、DDL、DAL,這些基本的資料庫語言是很容易上手使用的,另外MySql還封裝了很多資料庫操作命令,這些命令是在dos系統中執行的,這是他和SQL Server的不同之處,MySql的環境是簡歷在dos系統之上的,要使用dos命令。它和java有點類似,可以說它也是建立在虛擬機器之上的,可以實現一次建立到處使用。想要方便的使用MySql命令還需要一些前提進行設定,設定方法類似於Java的環境變數,下面的方法以免安裝版本的MySql為例演示它的配置方法。
1. MySql環境配置
將MySql的解壓路徑配置到系統變數中就可以在任何地方使用MySql命令。
Note:這是配置的系統變數,任何使用控制檯命令的第三方命令都可以新增到系統變數中,系統變數是一個紐帶作用,在使用命令時會優先搜尋系統變數。
2、MySql伺服器配置
在配置了系統的環境變數後就可以使用MySql的bin下提供的所有服務了,接下來還需要在系統中安裝MySQL。
2.1 安裝MySql伺服器
開啟解壓檔案目錄,找到字尾名為.ini的檔案,複製一份更名為my.ini,使用下面的內容替換原有的內容。
- [mysqld]
- basedir=D:/Program Files (x86)/MySql # 設定mysql的安裝目錄
- datadir=D:/Program Files (x86)/MySql/data # 設定mysql資料庫的資料的存放目錄,必須是data,或者是//xxx/data
- *************************分割線*******************
- port = 3306
- socket = /tmp/mysql.sock
- default-character-set=gbk # 設定mysql伺服器的字符集
- skip-locking
- key_buffer = 16K
- max_allowed_packet = 1M
- table_cache = 4
- sort_buffer_size = 64K
- read_buffer_size = 256K
- read_rnd_buffer_size = 256K
- net_buffer_length = 2K
- thread_stack = 64K
- [client]
- #password = your_password
- port = 3306
- socket = /tmp/mysql.sock
- default-character-set=gbk
- *************************分割線*******************
Note:[mysqld]下面的basedir和datadir需要設定為檔案解壓後的路徑,在此處筆者將檔案放到了D:\Program Files (x86)\MySql下。另外上面的分割線內的內容是可選的,可以在建立資料庫的時候重新設定,建議在建立時不要新增,因為會有很多不確定因素。
在my.ini 檔案中 本人配置的如一下可執行選項:
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[client]
#password = your_password
port = 3306
socket = /tmp/mysql.sock
default-character-set=utf-8
[mysqld]
port = 3306
basedir="C:/Program Files/Mysql"
# 設定mysql的安裝目錄
datadir="C:/Program Files/Mysql/data"
# 設定mysql資料庫的資料的存放目錄,必須是data,或者是//xxx/data
default-storage-engine=INNODB
# 建立新表時將使用的預設儲存引擎
socket = /tmp/mysql.sock
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
# SQL模式為strict模式
#default-character-set=utf-8
# 設定mysql伺服器的字符集
#character-set-server=utf-8
# 服務端使用的字符集預設為8位元編碼的latin1字符集
max_connections=100
# mysql伺服器支援的最大併發連線數(使用者數)。但總會預留其中的一個連線給管理員使用超級許可權登入,即使連線數目達到最大限制。如果設定得過小而使用者比較多,會經常出現“Too many connections”錯誤。
query_cache_size=0
# 查詢快取大小,用於快取SELECT查詢結果。如果有許多返回相同查詢結果的SELECT查詢,並且很少改變表,可以設定query_cache_size大於0,可以極大改善查詢效率。而如果表資料頻繁變化,就不要使用這個,會適得其反
#table_cache=256
# 這個引數在5.1.3之後的版本中叫做table_open_cache,用於設定table快取記憶體的數量。由於每個客戶端連線都會至少訪問一個表,因此此引數的值與 max_connections有關。當某一連線訪問一個表時,MySQL會檢查當前已快取表的數量。如果該表已經在快取中開啟,則會直接訪問快取中的表已加快查詢速度;如果該表未被快取,則會將當前的表新增進快取並進行查詢。在執行快取操作之前,table_cache用於限制快取表的最大數目:如果當前已經快取的表未達到table_cache,則會將新表新增進來;若已經達到此值,MySQL將根據快取表的最後查詢時間、查詢率等規則釋放之前的快取。
tmp_table_size=34M
# 記憶體中的每個臨時表允許的最大大小。如果臨時表大小超過該值,臨時表將自動轉為基於磁碟的表(Disk Based Table)。
thread_cache_size=8
# 快取的最大執行緒數。當客戶端連線斷開時,如果客戶端總連線數小於該值,則處理客戶端任務的執行緒放回快取。在高併發情況下,如果該值設定得太小,就會有很多執行緒頻繁建立,執行緒建立的開銷會變大,查詢效率也會下降。一般來說如果在應用端有良好的多執行緒處理,這個引數對效能不會有太大的提高。
#------------------------------MyISAM相關引數 begin------------------------------------------------
myisam_max_sort_file_size=100G
# mysql重建索引時允許使用的臨時檔案最大大小
myisam_sort_buffer_size=68M
key_buffer_size=54M
# Key Buffer大小,用於快取MyISAM表的索引塊。決定資料庫索引處理的速度(尤其是索引讀)
read_buffer_size=64K
# 用於對MyISAM表全表掃描時使用的緩衝區大小。針對每個執行緒進行分配(前提是進行了全表掃描)。進行排序查詢時,MySql會首先掃描一遍該緩衝,以避免磁碟搜尋,提高查詢速度,如果需要排序大量資料,可適當調高該值。但MySql會為每個客戶連線發放該緩衝空間,所以應儘量適當設定該值,以避免記憶體開銷過大。
read_rnd_buffer_size=256K
sort_buffer_size=256K
# connection級引數(為每個執行緒配置),500個執行緒將消耗500*256K的sort_buffer_size。
#------------------------------MyISAM相關引數 end------------------------------------------------
#-------------------------------# InnoDB相關引數 begin ---------------------------------------
innodb_additional_mem_pool_size=3M
# InnoDB用於儲存元資料資訊的記憶體池大小,一般不需修改
innodb_flush_log_at_trx_commit =1
# 事務相關引數,如果值為1,則InnoDB在每次commit都會將事務日誌寫入磁碟(磁碟IO消耗較大),這樣保證了完全的ACID特性。而如果設定為0,則表示事務日誌寫入記憶體log和記憶體log寫入磁碟的頻率都為1次/秒。如果設為2則表示事務日誌在每次commit都寫入記憶體log,但記憶體log寫入磁碟的頻率為1次/秒。
innodb_log_buffer_size=2M
# InnoDB日誌資料緩衝大小,如果緩衝滿了,就會將緩衝中的日誌資料寫入磁碟(flush)。由於一般至少都1秒鐘會寫一次磁碟,所以沒必要設定過大,即使是長事務。
innodb_buffer_pool_size=105M
# InnoDB使用緩衝池來快取索引和行資料。該值設定的越大,則磁碟IO越少。一般將該值設為實體記憶體的80%。
innodb_log_file_size=53M
# 每一個InnoDB事務日誌的大小。一般設為innodb_buffer_pool_size的25%到100%
innodb_thread_concurrency=9
# InnoDB核心最大併發執行緒數
#-------------------------------# InnoDB相關引數 end ---------------------------------------
my.ini檔案配置好後就可以在cmd中安裝mysqld服務了,在cmd中執行命令:mysqld --install MySQL --defaults-file="D:\Program Files(x86)\MySql\my.ini",其中的MySQL是安裝伺服器的名稱,可以指定任何名稱。安裝完成後會提示下面的資訊:Service successfully installed,即表示成功安裝,安裝成功後會在系統的服務組策中新增該服務,在使用時只需要開啟即可。
Note:在執行安裝命令時一定要注意必須cmd內的路徑問題,該路徑必須在mysql的bin所在的路徑,比如我的mysql解壓到D:\Program Files(x86)\MySql資料夾中,那麼cmd當前路徑就必須為D:\Program Files(x86)\MySql\bin,否則在安裝完成後啟動服務時會出現發生錯誤提示:系統錯誤 2。系統找不到指定的檔案。
2.2 啟動伺服器
啟動MySQL伺服器,在cmd中執行命令:net start MySQL。
2.3 停止伺服器
在使用完成後可以通過命令來停止伺服器的執行,通過在cmd中執行命令:net stop MySQL,
2.4 檢視設計伺服器名稱及密碼
剛安裝的伺服器它的預設名稱為root,此時沒有密碼,可以通過cmd命令來設定名稱和密碼。相應的命令為:mysql -u root。另外可通過在cmd中使用update語句來修改root的密碼,具體設定方法如下程式碼所示:
1、給root加個密碼ab12
首先在DOS下進入目錄mysql\bin,然後鍵入以下命令: mysqladmin -u root -p password ab12 。
Note:因為開始時root沒有密碼,所以-p舊密碼一項就可以省略了。
2、再將root的密碼改為djg345:mysqladmin -u root -p ab12 password djg345
2.5 刪除服務:mysqld --remove MySQL
使用remove命令,後面跟上要刪除的資料庫服務的名稱。
三、MySql常用命令
3.1 連線服務
這裡介紹兩種連線方法分別為本地連線和遠端連線。
3.1.1 本地連線
在cmd中輸入並執行命令:mysql -u root -p,然後輸入相應的密碼。需要注意的是使用者名稱-u和使用者名稱之間也可以沒有空格,即-uroot同樣正確,但是密碼和-p之間必須要有空格。如果是剛安裝好的MYSQL,預設的root使用者名稱是沒有密碼的,直接輸入mysql -u root就可以進入MYSQL中了,MYSQL的提示符為:mysql>。
3.1.2 遠端連線
假設遠端主機的IP地址為:219.243.79.8,使用者名稱為root,密碼為123,則在cmd中執行如下命令:mysql -h219.243.79.8 -uroot -p 123。
3.1.3 退出MYSQL命令:exit
3.2 增加新使用者
3.2.1 超級使用者
增加一個使用者test1密碼為abc,讓他可以在任何主機上登入,並對所有資料庫有查詢、插入、修改、刪除的許可權。首先用root使用者連入MYSQL,然後鍵入以下命令:
grant select,insert,update,delete on *.* to [[email protected]”%][email protected]”%[/email]” Identified by “abc”;
但增加的使用者是十分危險的,你想如某個人知道test1的密碼,那麼他就可以在internet上的任何一臺電腦上登入你的mysql資料庫並對你的資料可以為所欲為了,解決辦法見2。 3.2.2 本機使用者
增加一個使用者test2密碼為abc,讓他只可以在localhost上登入,並可以對資料庫mydb進行查詢、插入、修改、刪除的操作(localhost指本地主機,即MYSQL資料庫所在的那臺主機),這樣使用者即使用知道test2的密碼,他也無法從internet上直接訪問資料庫,只能通過MYSQL主機上的web頁來訪問了。
grant select,insert,update,delete on mydb.* to [[email protected]][email protected][/email] identified by “abc”;
如果你不想test2有密碼,可以再打一個命令將密碼消掉。
grant select,insert,update,delete on mydb.* to [[email protected]][email protected][/email] identified by “”;
3.3 show命令
show命令是檢視的意思,可以用來檢視MySql中的一些列表資訊,如:show databases顯示所有資料庫的名稱;show tables顯示一個數據庫中的所有表名稱。
3.4 操作資料庫
操作前要進入相關的資料庫,可以使用use命令,如:use testdb進入名為testdb的資料庫,進入資料庫後既可以對資料庫中的物件操作,相應的操作命令使用的是SQL語句,DDL、DML、DAL。
3.4.1 檢視資料庫內容
1、檢視資料庫某個表的欄位資訊:desc 表名;
2、檢視資料庫表的建立語句:show create table 表名;當然使用同樣的方法也可以檢視其它建立內容的SQL語句,如檢視資料庫的建立語句,show create database 資料庫名。
3.4.2 修改表中列型別及名稱
(1)只修改列型別
alter table 資料庫名.表名 modify column 列名 資料型別,例如:將t_animal表的sex列該為boolean型別:
- alter table t_animal modify sex boolean not null
(2)同時修改列名和列資料型別 alter table 表名 change column 舊列名 新列名 資料型別,例如:將t_animal表的sex列更名為ani_sex,資料型別修改為boolean型別:
- alter table t_animal change column sex ani_sex boolean not null
結語
本文對MySql的配置及使用方法做了初步的總結,MySql還有很多內容在使用中慢慢積累,並且該文章也會不定時的新增新內容,主要是針對開發過程中的情況而更新。文章的命令筆者都進行了測試,有哪些不對的地方還請指出互相學習。
技術分享:凱哥學堂
相關推薦
MySQL資料庫安裝,配置My.ini檔案
最近在做專案開發時用到了MySql資料庫,在看了一些有關MySql的文章後,很快就上手使用了。在使用的過程中還是出現了一些問題,因為使用的是綠色免安裝版的MySql所以在配置的時候出現了一些問題,該篇文章就主要針對MySql綠色版的配置及其使用進行討論。 一、MyS
MySQL安裝與配置my.ini
https://www.cnblogs.com/ayyl/p/5978418.html 問題參考:https://blog.csdn.net/yulutian/article/details/78971369 https://blog.csdn.net/wzgl__wh/articl
MySQL8.0.13(.zip)安裝(重在my.ini檔案配置)[2019親測]詳解 無法啟動問題
MySQL8.0.13(.zip)安裝以及服務無法啟動(重在my.ini檔案配置)和初始密碼 2019.1.12.13:47分 週五下午閒著無聊,想倒騰一下怎麼把資料庫裝到別的盤,因為在C盤太不順眼了,個人習慣! 接下來幾下就輕鬆解除安裝了,(原來的版本是MySQL5.7.24) 重灌就想著
centos系統上MySQL的安裝,配置及密碼修改
一、Centos上yum安裝(CentOS6.4 64位),在伺服器上執行的命令 1、安裝mysql yum install mysql mysql-server mysql-devel -y 最後提示 Complete! 表示安裝成功 2、檢視是否生成了mysqld服務
centos7 mysql資料庫安裝和配置
2018年11月15日 13:34:55 qq_34731859 閱讀數:5 個人分類: Linux
centos7 mysql資料庫安裝和配置 centos7 mysql資料庫安裝和配置
centos7 mysql資料庫安裝和配置 一、系統環境 yum update升級以後的系統版本為 [[email protected] yl]# cat /etc/redhat-release CentOS Linux release
centos7 mysql資料庫安裝和配置(mysql-server安裝失敗)
轉載自: http://www.cnblogs.com/starof/p/4680083.html。 因為自己在用的時候安裝時遇到相同的問題。 centos7 mysql資料庫安裝和配置 一、系統環境 yum update升級以後的
MySQL資料庫安裝與配置雞湯
目錄 一、概述 二、MySQL安裝 三、安裝成功驗證 四、NavicatforMySQL下載及使用 一、概述 MySQL版本:5.7.17 下載地址:http://rj.baidu.com/soft/detail/12585.html?ald 客戶端工具:Nav
Centos7 mysql資料庫安裝和配置 | No package mysql-server available.
一、系統環境yum update升級以後的系統版本為[[email protected] yl]# cat /etc/redhat-release CentOS Linux release 7.1.1503 (Core) 二、mysql安裝一般網上給出的資料都是#
CentOS7整合Mysql資料庫安裝和配置
一、系統環境 yum update升級以後的系統版本為 [[email protected] yl]# cat /etc/redhat-release CentOS Linux release 7.1.1503 (Core) 二、mysql安裝 一般網
9、Linux下mysql資料庫安裝與配置實操
1、安裝 sudo yum -y install mysql-server 2、 sudo vim /etc/my.cnf 將字符集設定成UTF-8 3、將mysql設定為隨系統啟動 sudo chkconfig mysqld on sudo chkco
win7-MySQL資料庫安裝與配置詳解
目錄 一、概述 一、概述 MySQL版本:5.7.17 客戶端工具:NavicatforMySQL 二、MySQL安裝 安裝條件: 如果Windows Server 2003 在安裝.net framework4.0安裝過程中報錯: net framework 4.0安裝時提
MySQL資料庫安裝與配置
1.下載 下載Windows版本 下載Linux版本 2.安裝 在Windows平臺下安裝MySQL 在Linux平臺下安裝MySQL 3.配置 在Windows平臺下配置MySQL 在
本地Mysql5.7主從(Master/Slave)安裝詳解,my.ini檔案配置
找到Master mysql的位置 C:\Program Files\MySQL\MySQL Server 5.7 複製資料夾到你所需要的目錄,我是在D:\Mysql separation\MySQL
終於知道為什麼我的mysql總是解除安裝的不乾淨以及老是找不到my.ini檔案
感謝博主: 如果你的電腦裡裝過MySQL,想再重新安裝MySQL的時候可能就會因為前一版本解除安裝不徹底而出現錯誤。最常見的就是安裝好後設置引數的最後一步驗證時,會在Execute configurattion步驟中的第三項Start Service出錯,錯誤提示為Could n
mysql 資料庫的安裝與配置 有關msi檔案start service 停滯不前的問題及其解決辦法
一、安裝mysql資料庫有兩種方式。 (1)直接安裝,在官網上下載MSI格式的安裝包,然後直接無腦安裝即可,這種方式,我好幾個同學都裝上了,但是我沒有裝上。有些尷尬。我遇到的問題是在程式裝到start service這一步時,停止了。提示無法繼續。如圖所示。 並且會顯示如
MySQL免安裝版中 my-default.ini 的配置
在[mysqld]下面新增 character_set_server=utf8,注意是【utf8】不是【utf-8】而且後面沒有任何標點符號; 在【sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES】這句話後面再新增三行: [client] port=33
Hadoop Hive安裝,配置mysql元資料庫
由於Hive依賴於Hadoop,安裝Hive之前必須確認Hadoop可用,關於Hadoop的安裝可以參考叢集分散式 Hadoop安裝詳細步驟,這裡不再敘述。 tar -zxvf apache-hive-1.0.1-bin.tar.gz 在ap
MySQL 5.7.19安裝目錄下建立my.ini檔案
基本內容如下 [mysqld] character-set-server=utf8 #繫結IPv4和3306埠 bind-address = 0.0.0.0 port = 3306 # 設定mysql的安裝目錄 basedir=F:/test/mysql-5.7.19-wi
MySQL修改最大連接數,沒有my.ini文件,只有my-default,這怎麽改呀?
con www and remove ota sql_mode option sub chan # For advice on how to change settings please see # http://dev.mysql.com/doc/refman/5.6/e