1. 程式人生 > >一、MySQL資料庫之簡介和安裝

一、MySQL資料庫之簡介和安裝

一、基礎部分

1.資料庫是簡介    

之前所學,資料要永久儲存,比如使用者註冊的使用者資訊,都是保存於檔案中,而檔案只能存在於某一臺機器上。

如果我們不考慮從檔案中讀取資料的效率問題,並且假設我們的程式所有的元件都執行在一臺機器上,那麼用檔案存取資料,並沒有問題

但需要考慮的問題是:程式的執行效率依賴於承載它的硬體,而一臺機器機器的效能總歸是有限的,受限於目前的硬體水平,垂直擴充套件是有極限的。於是我們只能通過水平擴充套件來增強我們系統的整體效能,這就需要我們將程式的各個元件分佈於多臺機器去執行。

需要注意的是,雖然我們將程式的各個元件分佈到各臺機器,但各元件仍然是一個整體,言外之意,所有元件的資料還是要共享的。但每臺機器上的元件都只能操作本機的檔案,這就導致了資料必然不一致。

於是我們想到了將資料與應用程式分離:把檔案存放於一臺機器,然後將多臺機器通過網路去訪問這臺機器上的檔案,即共享這臺機器上的檔案,共享則意味著競爭,會發生資料不安全,需要加鎖處理。。。。

 

為了遠端訪問並處理這臺共享機器上的檔案,我們必須為我們的程式額外寫一段程式碼,完成如下功能:

#1.遠端連線
#2.開啟檔案
#3.讀寫(加鎖)
#4.關閉檔案

我們寫任何程式都需要有這段程式碼,於是我們提取這段程式碼,寫成一個專門的處理軟體,這就是mysql等資料庫管理軟體的由來,但mysql解決的不僅僅是資料共享的問題,還有查詢效率,安全性等一系列問題,總之,把程式設計師從資料管理中解脫出來,專注於自己的程式邏輯的編寫。

2.資料庫概述 

♥什麼是資料?(Data)

資料:描述事務的符號記錄,描述事物的符號既可以是數字,也可以是文字、圖片,影象、聲音、語言等,資料由多種表現形式,它們都可以經過數字化後存入計算機

在計算機中描述一個事物,就需要抽取這一事物的典型特徵,組成一條記錄,就相當於檔案裡的一行內容,如:

1  haiyan  female 20 甘肅  計算機系 

單純的一條記錄並沒有任何意義,如果我們按逗號作為分隔,依次定義各個欄位的意思

id   name    sex     age   adderess   major   #欄位
1 haiyan female 20 甘肅 計算機系 #記錄

 

如果這樣表示的話就瞭解了一個人的資訊了,讓人一看就清楚了

♥什麼是資料庫?(DataBase,簡稱DB)

資料庫,顧名思義就是存放資料的倉庫,只不過這個倉庫是在計算機儲存裝置上。

資料庫中的資料按一定的資料模型組織、描述和儲存,具有較小的冗餘度、較高的資料獨立性和易擴充套件性,並可為各種 使用者共享

♥什麼是資料庫管理系統(DataBase Management System 簡稱DBMS)

在瞭解了Data與DB的概念後,如何科學地組織和儲存資料,如何高效獲取和維護資料成了關鍵

這就用到了一個系統軟體---資料庫管理系統

如MySQL、Oracle、SQLite、Access、MS SQL Server

mysql主要用於大型門戶,例如搜狗、新浪等,它主要的優勢就是開放原始碼,因為開放原始碼這個資料庫是免費的,他現在是甲骨文公司的產品。
oracle主要用於銀行、鐵路、飛機場等。該資料庫功能強大,軟體費用高。也是甲骨文公司的產品。
sql server是微軟公司的產品,主要應用於大中型企業,如聯想、方正等。

資料庫說白了就是資料夾
資料庫管理系統就是一個軟體
資料庫伺服器:就是對外專門提供資料的一個機器

♥資料庫伺服器,資料庫管理系統,表與記錄的關係(重點理解)

表:student,scholl,class_list(即檔案)

資料庫:lzsh_info(即資料夾)

資料庫管理系統:如mysql(是一個軟體)

資料庫伺服器:一臺計算機(對記憶體要求比較高)

總結:

    資料庫伺服器---執行--->資料庫管理軟體

    資料庫管理軟體--->管理--->資料庫

    資料庫---組織--->表,即資料夾---組織--->檔案

    表---存放--->多條記錄,即檔案---存放--->多行內容

♥資料庫管理技術的發展歷程(瞭解)

  1.人工管理階段

  2.檔案系統階段

  3.資料系統階段

3.mysql介紹

MySQL是一個關係型資料庫管理系統,MySQL 最流行的關係型資料庫管理系統,在 WEB 應用方面MySQL是最好的 RDBMS (Relational Database Management System,關係資料庫管理系統) 應用軟體之一。

mysql是什麼?

mysql就是一個socekt服務端
客戶端軟體
  mysql自帶
  python模組

其他型別的資料庫?

sqllite,db2,oracle,access,sql server,MySQL
分兩大類:
  關係型:上面這一坨,注意:sql語句通用
  非關係型:mongodb,redis,memcache

4.下載安裝

Linux版本

#二進位制rpm包安裝
yum -y install mysql-server mysql
 1 1.解壓tar包
 2 cd /software
 3 tar -xzvf mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz
 4 mv mysql-5.6.21-linux-glibc2.5-x86_64 mysql-5.6.21
 5 
 6 2.新增使用者與組
 7 groupadd mysql
 8 useradd -r -g mysql mysql
 9 chown -R mysql:mysql mysql-5.6.21
10 
11 3.安裝資料庫
12 su mysql
13 cd mysql-5.6.21/scripts
14 ./mysql_install_db --user=mysql --basedir=/software/mysql-5.6.21 --datadir=/software/mysql-5.6.21/data
15 
16 4.配置檔案
17 cd /software/mysql-5.6.21/support-files
18 cp my-default.cnf /etc/my.cnf
19 cp mysql.server /etc/init.d/mysql
20 vim /etc/init.d/mysql   #若mysql的安裝目錄是/usr/local/mysql,則可省略此步
21 修改檔案中的兩個變更值
22 basedir=/software/mysql-5.6.21
23 datadir=/software/mysql-5.6.21/data
24 
25 5.配置環境變數
26 vim /etc/profile
27 export MYSQL_HOME="/software/mysql-5.6.21"
28 export PATH="$PATH:$MYSQL_HOME/bin"
29 source /etc/profile
30 
31 6.新增自啟動服務
32 chkconfig --add mysql
33 chkconfig mysql on
34 
35 7.啟動mysql
36 service mysql start
37 
38 8.登入mysql及改密碼與配置遠端訪問
39 mysqladmin -u root password 'your_password'     #修改root使用者密碼
40 mysql -u root -p     #登入mysql,需要輸入密碼
41 mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION;     #允許root使用者遠端訪問
42 mysql>FLUSH PRIVILEGES;     #重新整理許可權
原始碼安裝mysql
 1 1. 解壓
 2 tar zxvf  mariadb-5.5.31-linux-x86_64.tar.gz   
 3 mv mariadb-5.5.31-linux-x86_64 /usr/local/mysql //必需這樣,很多指令碼或可執行程式都會直接訪問這個目錄
 4 
 5 2. 許可權
 6 groupadd mysql             //增加 mysql 屬組 
 7 useradd -g mysql mysql     //增加 mysql 使用者 並歸於mysql 屬組 
 8 chown mysql:mysql -Rf  /usr/local/mysql    // 設定 mysql 目錄的使用者及使用者組歸屬。 
 9 chmod +x -Rf /usr/local/mysql    //賜予可執行許可權 
10 
11 3. 拷貝配置檔案
12 cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf     //複製預設mysql配置 檔案到/etc目錄 
13 
14 4. 初始化
15 /usr/local/mysql/scripts/mysql_install_db --user=mysql          //初始化資料庫 
16 cp  /usr/local/mysql/support-files/mysql.server    /etc/init.d/mysql    //複製mysql服務程式 到系統目錄 
17 chkconfig  mysql on     //新增mysql 至系統服務並設定為開機啟動 
18 service  mysql  start  //啟動mysql
19 
20 5. 環境變數配置
21 vim /etc/profile   //編輯profile,將mysql的可執行路徑加入系統PATH
22 export PATH=/usr/local/mysql/bin:$PATH 
23 source /etc/profile  //使PATH生效。
24 
25 6. 賬號密碼
26 mysqladmin -u root password 'yourpassword' //設定root賬號及密碼
27 mysql -u root -p  //使用root使用者登入mysql
28 use mysql  //切換至mysql資料庫。
29 select user,host,password from user; //檢視系統許可權
30 drop user ''@'localhost'; //刪除不安全的賬戶
31 drop user [email protected]'::1';
32 drop user [email protected];
33 select user,host,password from user; //再次檢視系統許可權,確保不安全的賬戶均被刪除。
34 flush privileges;  //重新整理許可權
35 
36 7. 一些必要的初始配置
37 1)修改字符集為UTF8
38 vi /etc/my.cnf
39 在[client]下面新增 default-character-set = utf8
40 在[mysqld]下面新增 character_set_server = utf8
41 2)增加錯誤日誌
42 vi /etc/my.cnf
43 在[mysqld]下面新增:
44 log-error = /usr/local/mysql/log/error.log
45 general-log-file = /usr/local/mysql/log/mysql.log
46 3) 設定為不區分大小寫,linux下預設會區分大小寫。
47 vi /etc/my.cnf
48 在[mysqld]下面新增:
49 lower_case_table_name=1
50 
51 修改完重啟:#service  mysql  restart
原始碼安裝mariadb

Window版本

1.下載路徑:http://dev.mysql.com/downloads/mysql/

1.首先下載下來安裝包,然後把下載下來的壓縮包解壓到你要存放的路徑
2.然後設定環境變數。例如我的存放在E盤了
設定環境變數:path--E:\mysql-5.7.19-winx64\bin;
3.mysqld --initialize-insecure 初始化 (一初始化就產生了一個data的包)
4.mysqld 啟動mysql
5.tasklist | findstr mysql #檢視mysql是否啟動
6.mysql -uroot -p 無密碼登入
7.mysqladmin -uroot password 123 設定密碼登入
8.quit 退出
9.windows 系統下幹掉任務 tskill mysqld


到此為止,MySQL服務端已經安裝成功並且客戶端已經可以連線上,以後再操作MySQL時

注意:.當我們每次用mysql啟動的時候,閒的麻煩,那麼我們把它做成一個系統服務
就用mysqld --install
當在搜尋裡面輸入services.msc就可以看到一個MYSQL了

註冊成服務之後,以後再啟動和關閉MySQL服務時,僅需執行如下命令:

# 啟動MySQL服務

net start mysql

# 關閉MySQL服務

net stop mysql

 

忘記密碼了怎麼辦?

破解密碼的兩種方式

破解密碼一
1.乾死mysql(注意:以什麼方式啟動的就要以什麼方式吧它幹掉)
2.在cmd中啟動:mysqld --skip-grant-tables (跳過所有的授權表)
3.在cmd中登入:mysql
4.輸入兩條命令:
  update mysql.user set authentication_string = password('123') where user = 'root' and host =   'localhost'
  flush privileges 重新重新整理許可權

5.tskill mysqld   幹掉任務
6.正常啟動mysql
7.mysql -uroot -p123

破解密碼二 (僅限於剛剛安裝在資料庫的時候,如果對你有用的一堆資料已經存在了,
就不要用這種方法,就得用第一種)
1.在mysql的解壓目錄下新建一個my.ini配置檔案
那麼在my.ini配置檔案裡寫上
在ini配置檔案中註釋有兩種#或者;
[mysql]
skip-grant-tables (開頭的--就不用要了)如果啟動了就先關了,然後重新啟動一下,登入後,my.ini就生效了
basedir = E:\mysql-5.7.19-winx64
datadir = D:\6_data #如果data指定要儲存資料的目錄,一定要記得初始化 mysqld --initialize-insecure
#完了吧原先的那個資料data幹掉。

4. 在windows下,為mysql服務指定配置檔案

#在mysql的解壓目錄下,新建my.ini,然後配置
#1. 在執行mysqld命令時,下列配置會生效,即mysql服務啟動時生效
[mysqld]
;skip-grant-tables
port=3306
character_set_server=utf8
#解壓的目錄
basedir=E:\mysql-5.7.19-winx64
#data目錄
datadir=E:\my_data #在mysqld --initialize時,就會將初始資料存入此處指定的目錄,在初始化之後,啟動mysql時,就會去這個目錄裡找資料

#2. 針對客戶端命令的全域性配置,當mysql客戶端命令執行時,下列配置生效
[client]
port=3306
default-character-set=utf8
user=root
password=123456

#3. 只針對mysql這個客戶端的配置,2中的是全域性配置,而此處的則是隻針對mysql這個命令的區域性配置
[mysql]
;port=3306
;default-character-set=utf8
user=hiayan
password=123456

 

 

1.資料庫是簡介    

之前所學,資料要永久儲存,比如使用者註冊的使用者資訊,都是保存於檔案中,而檔案只能存在於某一臺機器上。

如果我們不考慮從檔案中讀取資料的效率問題,並且假設我們的程式所有的元件都執行在一臺機器上,那麼用檔案存取資料,並沒有問題

但需要考慮的問題是:程式的執行效率依賴於承載它的硬體,而一臺機器機器的效能總歸是有限的,受限於目前的硬體水平,垂直擴充套件是有極限的。於是我們只能通過水平擴充套件來增強我們系統的整體效能,這就需要我們將程式的各個元件分佈於多臺機器去執行。

需要注意的是,雖然我們將程式的各個元件分佈到各臺機器,但各元件仍然是一個整體,言外之意,所有元件的資料還是要共享的。但每臺機器上的元件都只能操作本機的檔案,這就導致了資料必然不一致。

於是我們想到了將資料與應用程式分離:把檔案存放於一臺機器,然後將多臺機器通過網路去訪問這臺機器上的檔案,即共享這臺機器上的檔案,共享則意味著競爭,會發生資料不安全,需要加鎖處理。。。。

 

為了遠端訪問並處理這臺共享機器上的檔案,我們必須為我們的程式額外寫一段程式碼,完成如下功能:

#1.遠端連線
#2.開啟檔案
#3.讀寫(加鎖)
#4.關閉檔案

我們寫任何程式都需要有這段程式碼,於是我們提取這段程式碼,寫成一個專門的處理軟體,這就是mysql等資料庫管理軟體的由來,但mysql解決的不僅僅是資料共享的問題,還有查詢效率,安全性等一系列問題,總之,把程式設計師從資料管理中解脫出來,專注於自己的程式邏輯的編寫。

2.資料庫概述 

♥什麼是資料?(Data)

資料:描述事務的符號記錄,描述事物的符號既可以是數字,也可以是文字、圖片,影象、聲音、語言等,資料由多種表現形式,它們都可以經過數字化後存入計算機

在計算機中描述一個事物,就需要抽取這一事物的典型特徵,組成一條記錄,就相當於檔案裡的一行內容,如:

1  haiyan  female 20 甘肅  計算機系 

單純的一條記錄並沒有任何意義,如果我們按逗號作為分隔,依次定義各個欄位的意思

id   name    sex     age   adderess   major   #欄位
1   haiyan  female  20      甘肅     計算機系   #記錄

 

如果這樣表示的話就瞭解了一個人的資訊了,讓人一看就清楚了

♥什麼是資料庫?(DataBase,簡稱DB)

資料庫,顧名思義就是存放資料的倉庫,只不過這個倉庫是在計算機儲存裝置上。

資料庫中的資料按一定的資料模型組織、描述和儲存,具有較小的冗餘度、較高的資料獨立性和易擴充套件性,並可為各種 使用者共享

♥什麼是資料庫管理系統(DataBase Management System 簡稱DBMS)

在瞭解了Data與DB的概念後,如何科學地組織和儲存資料,如何高效獲取和維護資料成了關鍵

這就用到了一個系統軟體---資料庫管理系統

如MySQL、Oracle、SQLite、Access、MS SQL Server

mysql主要用於大型門戶,例如搜狗、新浪等,它主要的優勢就是開放原始碼,因為開放原始碼這個資料庫是免費的,他現在是甲骨文公司的產品。
oracle主要用於銀行、鐵路、飛機場等。該資料庫功能強大,軟體費用高。也是甲骨文公司的產品。
sql server是微軟公司的產品,主要應用於大中型企業,如聯想、方正等。

資料庫說白了就是資料夾
資料庫管理系統就是一個軟體
資料庫伺服器:就是對外專門提供資料的一個機器

♥資料庫伺服器,資料庫管理系統,表與記錄的關係(重點理解)

表:student,scholl,class_list(即檔案)

資料庫:lzsh_info(即資料夾)

資料庫管理系統:如mysql(是一個軟體)

資料庫伺服器:一臺計算機(對記憶體要求比較高)

總結:

    資料庫伺服器---執行--->資料庫管理軟體

    資料庫管理軟體--->管理--->資料庫

    資料庫---組織--->表,即資料夾---組織--->檔案

    表---存放--->多條記錄,即檔案---存放--->多行內容

♥資料庫管理技術的發展歷程(瞭解)

  1.人工管理階段

  2.檔案系統階段

  3.資料系統階段

3.mysql介紹

MySQL是一個關係型資料庫管理系統,MySQL 最流行的關係型資料庫管理系統,在 WEB 應用方面MySQL是最好的 RDBMS (Relational Database Management System,關係資料庫管理系統) 應用軟體之一。

mysql是什麼?

mysql就是一個socekt服務端
客戶端軟體
  mysql自帶
  python模組

其他型別的資料庫?

sqllite,db2,oracle,access,sql server,MySQL
分兩大類:
  關係型:上面這一坨,注意:sql語句通用
  非關係型:mongodb,redis,memcache

4.下載安裝

Linux版本

#二進位制rpm包安裝
yum -y install mysql-server mysql
 1 1.解壓tar包
 2 cd /software
 3 tar -xzvf mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz
 4 mv mysql-5.6.21-linux-glibc2.5-x86_64 mysql-5.6.21
 5 
 6 2.新增使用者與組
 7 groupadd mysql
 8 useradd -r -g mysql mysql
 9 chown -R mysql:mysql mysql-5.6.21
10 
11 3.安裝資料庫
12 su mysql
13 cd mysql-5.6.21/scripts
14 ./mysql_install_db --user=mysql --basedir=/software/mysql-5.6.21 --datadir=/software/mysql-5.6.21/data
15 
16 4.配置檔案
17 cd /software/mysql-5.6.21/support-files
18 cp my-default.cnf /etc/my.cnf
19 cp mysql.server /etc/init.d/mysql
20 vim /etc/init.d/mysql   #若mysql的安裝目錄是/usr/local/mysql,則可省略此步
21 修改檔案中的兩個變更值
22 basedir=/software/mysql-5.6.21
23 datadir=/software/mysql-5.6.21/data
24 
25 5.配置環境變數
26 vim /etc/profile
27 export MYSQL_HOME="/software/mysql-5.6.21"
28 export PATH="$PATH:$MYSQL_HOME/bin"
29 source /etc/profile
30 
31 6.新增自啟動服務
32 chkconfig --add mysql
33 chkconfig mysql on
34 
35 7.啟動mysql
36 service mysql start
37 
38 8.登入mysql及改密碼與配置遠端訪問
39 mysqladmin -u root password 'your_password'     #修改root使用者密碼
40 mysql -u root -p     #登入mysql,需要輸入密碼
41 mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION;     #允許root使用者遠端訪問
42 mysql>FLUSH PRIVILEGES;     #重新整理許可權
原始碼安裝mysql
 1 1. 解壓
 2 tar zxvf  mariadb-5.5.31-linux-x86_64.tar.gz   
 3 mv mariadb-5.5.31-linux-x86_64 /usr/local/mysql //必需這樣,很多指令碼或可執行程式都會直接訪問這個目錄
 4 
 5 2. 許可權
 6 groupadd mysql             //增加 mysql 屬組 
 7 useradd -g mysql mysql     //增加 mysql 使用者 並歸於mysql 屬組 
 8 chown mysql:mysql -Rf  /usr/local/mysql    // 設定 mysql 目錄的使用者及使用者組歸屬。 
 9 chmod +x -Rf /usr/local/mysql    //賜予可執行許可權 
10 
11 3. 拷貝配置檔案
12 cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf     //複製預設mysql配置 檔案到/etc目錄 
13 
14 4. 初始化
15 /usr/local/mysql/scripts/mysql_install_db --user=mysql          //初始化資料庫 
16 cp  /usr/local/mysql/support-files/mysql.server    /etc/init.d/mysql    //複製mysql服務程式 到系統目錄 
17 chkconfig  mysql on     //新增mysql 至系統服務並設定為開機啟動 
18 service  mysql  start  //啟動mysql
19 
20 5. 環境變數配置
21 vim /etc/profile   //編輯profile,將mysql的可執行路徑加入系統PATH
22 export PATH=/usr/local/mysql/bin:$PATH 
23 source /etc/profile  //使PATH生效。
24 
25 6. 賬號密碼
26 mysqladmin -u root password 'yourpassword' //設定root賬號及密碼
27 mysql -u root -p  //使用root使用者登入mysql
28 use mysql  //切換至mysql資料庫。
29 select user,host,password from user; //檢視系統許可權
30 drop user ''@'localhost'; //刪除不安全的賬戶
31 drop user [email protected]'::1';
32 drop user [email protected];
33 select user,host,password from user; //再次檢視系統許可權,確保不安全的賬戶均被刪除。
34 flush privileges;  //重新整理許可權
35 
36 7. 一些必要的初始配置
37 1)修改字符集為UTF8
38 vi /etc/my.cnf
39 在[client]下面新增 default-character-set = utf8
40 在[mysqld]下面新增 character_set_server = utf8
41 2)增加錯誤日誌
42 vi /etc/my.cnf
43 在[mysqld]下面新增:
44 log-error = /usr/local/mysql/log/error.log
45 general-log-file = /usr/local/mysql/log/mysql.log
46 3) 設定為不區分大小寫,linux下預設會區分大小寫。
47 vi /etc/my.cnf
48 在[mysqld]下面新增:
49 lower_case_table_name=1
50 
51 修改完重啟:#service  mysql  restart
原始碼安裝mariadb

Window版本

1.下載路徑:http://dev.mysql.com/downloads/mysql/

1.首先下載下來安裝包,然後把下載下來的壓縮包解壓到你要存放的路徑
2.然後設定環境變數。例如我的存放在E盤了
設定環境變數:path--E:\mysql-5.7.19-winx64\bin;
3.mysqld --initialize-insecure 初始化 (一初始化就產生了一個data的包)
4.mysqld 啟動mysql
5.tasklist | findstr mysql #檢視mysql是否啟動
6.mysql -uroot -p 無密碼登入
7.mysqladmin -uroot password 123 設定密碼登入
8.quit 退出
9.windows 系統下幹掉任務 tskill mysqld


到此為止,MySQL服務端已經安裝成功並且客戶端已經可以連線上,以後再操作MySQL時

注意:.當我們每次用mysql啟動的時候,閒的麻煩,那麼我們把它做成一個系統服務
就用mysqld --install
當在搜尋裡面輸入services.msc就可以看到一個MYSQL了

註冊成服務之後,以後再啟動和關閉MySQL服務時,僅需執行如下命令:

# 啟動MySQL服務

net start mysql

# 關閉MySQL服務

net stop mysql

 

忘記密碼了怎麼辦?

破解密碼的兩種方式

破解密碼一
1.乾死mysql(注意:以什麼方式啟動的就要以什麼方式吧它幹掉)
2.在cmd中啟動:mysqld --skip-grant-tables (跳過所有的授權表)
3.在cmd中登入:mysql
4.輸入兩條命令:
  update mysql.user set authentication_string = password('123') where user = 'root' and host =   'localhost'
  flush privileges 重新重新整理許可權

5.tskill mysqld   幹掉任務
6.正常啟動mysql
7.mysql -uroot -p123

破解密碼二 (僅限於剛剛安裝在資料庫的時候,如果對你有用的一堆資料已經存在了,
就不要用這種方法,就得用第一種)
1.在mysql的解壓目錄下新建一個my.ini配置檔案
那麼在my.ini配置檔案裡寫上
在ini配置檔案中註釋有兩種#或者;
[mysql]
skip-grant-tables (開頭的--就不用要了)如果啟動了就先關了,然後重新啟動一下,登入後,my.ini就生效了
basedir = E:\mysql-5.7.19-winx64
datadir = D:\6_data #如果data指定要儲存資料的目錄,一定要記得初始化 mysqld --initialize-insecure
#完了吧原先的那個資料data幹掉。

4. 在windows下,為mysql服務指定配置檔案

#在mysql的解壓目錄下,新建my.ini,然後配置
#1. 在執行mysqld命令時,下列配置會生效,即mysql服務啟動時生效
[mysqld]
;skip-grant-tables
port=3306
character_set_server=utf8
#解壓的目錄
basedir=E:\mysql-5.7.19-winx64
#data目錄
datadir=E:\my_data #在mysqld --initialize時,就會將初始資料存入此處指定的目錄,在初始化之後,啟動mysql時,就會去這個目錄裡找資料

#2. 針對客戶端命令的全域性配置,當mysql客戶端命令執行時,下列配置生效
[client]
port=3306
default-character-set=utf8
user=root
password=123456

#3. 只針對mysql這個客戶端的配置,2中的是全域性配置,而此處的則是隻針對mysql這個命令的區域性配置
[mysql]
;port=3306
;default-character-set=utf8
user=hiayan
password=123456