1.MySQL的下載安裝、簡單應用及目錄介紹
1.下載安裝
windows10的:https://www.cnblogs.com/clschao/articles/9916971.html
linux下的mysql安裝和使用(參考博客):
1. https://www.cnblogs.com/clschao/articles/6736840.html
2. https://blog.csdn.net/qq_17776287/article/details/53536761
mac 安裝mysql5.6 :https://blog.csdn.net/mike694439716/article/details/48218239?utm_source=blogxgwz0
mac 安裝tar.gz版MySQL5.6:https://blog.csdn.net/zmx729618/article/details/72769840
如果Mac本安裝完mysql之后,登陸以后,不管運行什么指令,總是提示這個:mac mysql error You must reset your password using ALTER USER statement before executing this statement. 你需要做的就是修改密碼就行了,默認安裝完成之后,mysql應該是安裝在了/usr/local/mysql這個目錄下,里面的目錄結構和windows的是一樣的。
總結win10:

#1、下載:MySQL Community Server 5.7.16 http://dev.mysql.com/downloads/mysql/ #2、解壓 如果想要讓MySQL安裝在指定目錄,那么就將解壓后的文件夾移動到指定目錄,如:C:\mysql-5.7.16-winx64 #3、添加環境變量 【右鍵計算機】--》【屬性】--》【高級系統設置】--》【高級】--》【環境變量】--》【在第二個內容框中找到 變量名為Path 的一行,雙擊】 --> 【將MySQL的bin目錄路徑追加到變值值中,用 ; 分割】 #4、初始化 mysqld --initialize-insecure #5、啟動MySQL服務 mysqld # 啟動MySQL服務 #6、啟動MySQL客戶端並連接MySQL服務 mysql -u root -p # 連接MySQL服務器 #7、將mysql添加系統服務 注意:--install前,必須用mysql啟動命令的絕對路徑 # 制作MySQL的Windows服務,在終端執行此命令: "c:\mysql-5.7.16-winx64\bin\mysqld" --install # 移除MySQL的Windows服務,在終端執行此命令: "c:\mysql-5.7.16-winx64\bin\mysqld" --remove 注冊成服務之后,以后再啟動和關閉MySQL服務時,僅需執行如下命令: # 啟動MySQL服務 net start mysql # 關閉MySQL服務 net stop mysql
總結Linux:

#1、下載:MySQL Community Server 5.7.16 http://dev.mysql.com/downloads/mysql/ #2、解壓 如果想要讓MySQL安裝在指定目錄,那么就將解壓后的文件夾移動到指定目錄,如:C:\mysql-5.7.16-winx64 #3、添加環境變量 【右鍵計算機】--》【屬性】--》【高級系統設置】--》【高級】--》【環境變量】--》【在第二個內容框中找到 變量名為Path 的一行,雙擊】 --> 【將MySQL的bin目錄路徑追加到變值值中,用 ; 分割】 #4、初始化 mysqld --initialize-insecure #5、啟動MySQL服務 mysqld # 啟動MySQL服務 #6、啟動MySQL客戶端並連接MySQL服務 mysql -u root -p # 連接MySQL服務器 #7、將mysql添加系統服務 注意:--install前,必須用mysql啟動命令的絕對路徑 # 制作MySQL的Windows服務,在終端執行此命令: "c:\mysql-5.7.16-winx64\bin\mysqld" --install # 移除MySQL的Windows服務,在終端執行此命令: "c:\mysql-5.7.16-winx64\bin\mysqld" --remove 注冊成服務之后,以后再啟動和關閉MySQL服務時,僅需執行如下命令: # 啟動MySQL服務 net start mysql # 關閉MySQL服務 net stop mysql 復制代碼 復制代碼 1.解壓tar包 cd /software #cd到一個自己創建的文件夾中 tar -xzvf mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz #解壓下載下來的mysql文件,如果沒在這個文件夾中,記得把文件移動到這個文件夾中,通過mv指令 mv mysql-5.6.21-linux-glibc2.5-x86_64 mysql-5.6.21 #通過mv指令給這個解壓出來的文件改了個名字 2.添加用戶與組 groupadd mysql #添加用戶組 useradd -r -g mysql mysql #創建mysql用戶,並添加到mysql用戶組 chown -R mysql:mysql mysql-5.6.21 #這是mysql用戶和mysql用戶組的歸屬 chmod +x -Rf /usr/local/mysql #賜予可執行權限 3.安裝數據庫 su mysql cd mysql-5.6.21/scripts ./mysql_install_db --user=mysql --basedir=/software/mysql-5.6.21 --datadir=/software/mysql-5.6.21/data #使用mysql用戶來將我們下載並解壓的那個mysql文件,安裝到/software/mysql-5.6.21/data這個目錄里面 4.配置文件 cd /software/mysql-5.6.21/support-files #配置文件在這個目錄下 cp my-default.cnf /etc/my.cnf #copy一份my-default.cnf文件到etc目錄下,並起名為my.cnf文件 cp mysql.server /etc/init.d/mysql #copy一份mysql.server文件,到etc的init.d的mysql文件夾中,啟動加載的初始配置文件會有一部分在這個目錄里面讀取 vim /etc/init.d/mysql #若mysql的安裝目錄是/usr/local/mysql,則可省略此步 修改文件中的兩個變更值 basedir=/software/mysql-5.6.21 #基礎目錄 datadir=/software/mysql-5.6.21/data #數據目錄 5.配置環境變量 vim /etc/profile #環境變量的配置文件 ,添加下面兩行 export MYSQL_HOME="/software/mysql-5.6.21" export PATH="$PATH:$MYSQL_HOME/bin" #使配置生效,通過source指令 source /etc/profile 6.添加自啟動服務 chkconfig --add mysql chkconfig mysql on 7.啟動mysql service mysql start 8.登錄mysql及改密碼與配置遠程訪問 mysqladmin -u root password 'your_password' #修改root用戶密碼 mysql -u root -p #登錄mysql,需要輸入密碼 mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION; #允許root用戶遠程訪問(默認遠程連接是不能使用root用戶來連接的) mysql>FLUSH PRIVILEGES; #刷新權限 9. 一些必要的初始配置(除了下面這些,將來玩mysql的時候還有很多很多的配置) 1)修改字符集為UTF8 vi /etc/my.cnf 在[client]下面添加 default-character-set = utf8 在[mysqld]下面添加 character_set_server = utf8 2)增加錯誤日志 vi /etc/my.cnf 在[mysqld]下面添加: log-error = /usr/local/mysql/log/error.log general-log-file = /usr/local/mysql/log/mysql.log 3) 設置為不區分大小寫,linux下默認會區分大小寫。 vi /etc/my.cnf 在[mysqld]下面添加: lower_case_table_name=1 修改完重啟:#service mysql restart
2.mysql的簡單使用演示
1.開啟服務端,mysqld\ net start mysql
2.使用mysql自帶的客戶端進行連接,cmd下輸入mysql -u root -p,然后回車,會提示你輸入密碼,此時初始的root用戶還沒有密碼,所以還是直接回車就可以連接上了
3.show databases;先不講里面的內容,說一下這是幾個庫,每個項目可以有自己單獨的一個庫,里面放這個項目的所有數據表
4.創建一個庫:create database CRM;然后show databases;查看一下就有了這個crm庫,不分大小寫,統一會變成小寫,對照着我們mysql安裝目錄下的data文件夾里面的內容看一下,庫就是對應的文件夾。
5.我們目前在所有數據庫之上,想在我們自己項目的庫里面操作數據,就需要切換到我們自己這個crm項目的庫里面進行數據的操作,切換數據庫使用use + 庫名,例如:use crm;就提示你切換成功了。
6.我們說過,庫里面維護的數據就像一張一張的數據表,類似excel,對不對,那我們創建一張表看一下,命令:
create table student(
id int,
name char(10),
age int
);
7.再執行show tables;就可以看到有了一個student表
8.查看一下這個表里的數據select * from student;發現什么數據也沒有
9.插入幾條數據,寫幾條數據:insert into student values(1,'d',18),(2,'x',11),(3,'d',10),(4,'k',9);然后回車,就執行了這條指令,然后我們再查看一下這個表里面有沒有數據了,執行上一條指令,select * from student;發現里面就有數據了:
注意:數據庫中,有幾個初識的庫,關於數據庫中的這4個初始的庫的詳細介紹 可參考: https://www.cnblogs.com/clschao/articles/9928223.html
3. root用戶密碼設置及忘記密碼的解決方法
root用戶密碼不能為空,需要設置一個密碼,看下面設置密碼的三種方法:
方法1: 用SET PASSWORD命令
首先登錄MySQL,使用mysql自帶的那個客戶端連接上mysql。
格式:mysql> set password for 用戶名@localhost = password('新密碼'); 例子:mysql> set password for root@localhost = password('123');
方法2:用mysqladmin (因為我們將bin已經添加到環境變量了,這個mysqladmin也在bin目錄下,所以可以直接使用這個mysqladmin來修改密碼)
關於mysqladmin的介紹:是一個執行管理操作的客戶端程序。它可以用來檢查服務器的配置和當前狀態、創建和刪除數據庫、修改用戶密碼等等的功能,雖然mysqladmin的很多功能通過使用MySQL自帶的mysql客戶端可以搞定,但是有時候使用mysqladmin操作會比較簡單。
格式:mysqladmin -u用戶名 -p舊密碼 password 新密碼
例子:mysqladmin -uroot -p123456 password 123
只用mysqladmin的時候,會出現一個warning警告信息:Warning: Using a password on the command line interface can be insecure.,這個沒關系,是提示你,你直接在cmd下使用明文設置密碼的時候,是不安全的,因為別人可以通過翻看你輸入指令的歷史記錄來查看到你設置的密碼,所以提示你一下
方法3:用UPDATE直接編輯那個自動的mysql庫中的user表
首先登錄MySQL,連接上mysql服務端。
1.mysql> use mysql; 切換到mysql這個庫,這個庫是所有的用戶表和權限相關的表都在這個庫里面,我們進入到這個庫才能修改這個庫里面的表。
2.mysql> update user set password=password('123') where user='root' and host='localhost';
其中password=password('123') 前面的password是變量,后面的password是mysql提供的給密碼加密用的,我們最好不要明文的存密碼.其中user是一個表,存着所有的mysql用戶的信息。
3.mysql> flush privileges; 刷新權限,讓其生效,否則不生效,修改不成功。
在忘記root密碼的時候,可以這樣(注意:root密碼最好不要忘記,找地方記錄下來,不然如果是工作中你們使用的數據庫(不管是測試的還是線上的,都是比較麻煩的事情,數據庫輕易不會讓你重啟的,不過作為一個開發來講,你應該是無法用root用戶的~~~))
以windows為例:

1. 關閉正在運行的MySQL服務,net stop mysql(這個mysql是你添加的mysqld到系統服務時的服務名)。 2. 打開DOS窗口,轉到mysql\bin目錄。 3. 輸入mysqld --skip-grant-tables 回車。--skip-grant-tables 的意思是啟動MySQL服務的時候跳過權限表認證,因為之所以mysql啟動之后,客戶端連接的時候需要登陸認證,輸入密碼什么的,是因為mysql服務端啟動的時候,加載了自己內部的一些權限相關信息的授權表、權限認證表什么的,這樣就要求客戶端必須有認證,如果啟動的時沒有加載這些表和設置,那么我們客戶端再進行登陸的時候,就不需要認證了,那么就可以登陸上了,登陸之后,我們到mysql這個存有所有用戶信息的表中去修改root用戶或者別的用戶的密碼了,但是這樣搞需要關閉服務端,在實際工作中想關閉mysql服務?? 注意一個問題,如果我們直接使用的上面這個指令,也即是mysqld --skip-grant-tables,也就是直接通過mysqld啟動的mysql服務的話,我們就不能通過net stop mysql的方式來關閉mysql服務了。但是可以通過別的方式來關閉,我在安裝mysql的那篇博客里面寫到了,殺進程的方式,知道你肯定忘記了,再給你寫一下(win10):tasklist |findstr mysqld找到這個mysqld服務的端口號,然后taskkill /F /PID 端口號來殺死這個mysql服務的進行,以后就可以使用net start/stop mysql的方式來啟動和關閉了。 4. 再開一個DOS窗口(因為剛才那個DOS窗口已經不能動了),轉到mysql\bin目錄。 5. 輸入mysql回車,如果成功,將出現MySQL提示符 >。 6. 連接權限數據庫: use mysql; 。 6. 改密碼:update user set password=password("123") where user="root";(別忘了最后加分號) 。 7. 刷新權限(必須步驟):flush privileges; 。凡是涉及到密碼修改或者后面我們會學到的權限修改,修改完之后全部要再執行一下這一句。 8. 退出 quit。 9. 注銷系統,再進入,使用用戶名root和剛才設置的新密碼123登錄。