MySQL是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB 公司開發(fā),屬于 Oracle 旗下產(chǎn)品。MySQL 是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)之一,在 WEB 應(yīng)用方面,MySQL是最好的 RDBMS (Relational Database Management System,關(guān)系數(shù)據(jù)庫管理系統(tǒng)) 應(yīng)用軟件之一。所謂關(guān)系數(shù)據(jù)庫,就是將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫內(nèi),這樣就增加了速度并提高了靈活性。
MySQL所使用的 SQL 語言是用于訪問數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言。MySQL 軟件采用了雙授權(quán)政策,分為社區(qū)版和商業(yè)版,由于其體積小、速度快、成熟穩(wěn)定、總體擁有成本低,尤其是開放源碼這一特點(diǎn),一般中小型網(wǎng)站的開發(fā)都選擇 MySQL 作為網(wǎng)站數(shù)據(jù)庫。當(dāng)然,國內(nèi)許多知名的大型互聯(lián)網(wǎng)公司也都在使用MySQL。
使用MySQL的互聯(lián)網(wǎng)公司
1、mysql安裝包下載
下載地址:fw_error_www
下載zip壓縮包即可
解壓縮下載的安裝包
2、進(jìn)入mysql安裝包目錄,創(chuàng)建my.ini文件,寫入配置
[mysqld]
#設(shè)置端口
port=3306
#設(shè)置mysql的安裝目錄
basedir=D:/tools/database/mysql-8.0.29-winx64
#設(shè)置mysql數(shù)據(jù)庫的存放目錄
datadir=D:/tools/database/mysql-8.0.29-winx64/data
#允許最大連接數(shù)
max_connections=200
#允許連接失敗的次數(shù)。這是為了防止有人從該主機(jī)試圖攻擊數(shù)據(jù)庫系統(tǒng)
max_connect_errors=10
#服務(wù)端使用的字符集默認(rèn)為8比特編碼的latin1字符集
character-set-client-handshake=FALSE
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
#設(shè)置字符集
loose-default-character-set=utf8mb4
[client]
#設(shè)置客戶端字符集
port=3306
default-character-set=utf8mb4
[WinMySQLadmin]
Server=D:/tools/database/mysql-8.0.29-winx64/bin/mysqld.exe
3、以管理員身份運(yùn)行cmd
4、進(jìn)入mysql安裝包目錄(bin)
5、運(yùn)行命令:mysqld --initialize-insecure --console
注:initialize:初始化;insecure:不安全的【不帶root密碼】;console:顯示
6、運(yùn)行命令:mysqld install,將mysql注冊到windows服務(wù)中
注:出現(xiàn)“Install/Remove of the Service Denied”這個錯誤時,打開cmd.exe程序的時候選擇“用管理員身份打開”。cmd.exe路徑:C:\Windows\System32\cmd.exe
7、mysql服務(wù)移除,運(yùn)行命令:mysqld remove
1、關(guān)閉mysql服務(wù),在安裝目錄xxxx\bin文件地址欄輸入cmd,按enter打開dos,跳過注冊表來啟動server。命令行:mysqld --console --skip-grant-tables --shared-memory
注:8.0以下使用命令:mysqld --skip_grant_tables
2、再在該路徑下重新打開一個DOS,登錄MySQL:mysql -u root -p,按eter后,不用輸入密碼,直接再次enter進(jìn)入mysql
注:必須啟動的是DOS,不可是PowerShell
3、看下當(dāng)前用戶,應(yīng)該是無權(quán)限用戶:select current_user(); (此步可以跳過)
4、使用mysql空間:use mysql;
5、改root用戶密碼:update user set authentication_string='' where user='root';刷新數(shù)據(jù):flush privileges;設(shè)置密碼:alter user 'root'@'localhost' identified with mysql_native_password BY '你的密碼';
注:8.0 以前改root用戶密碼:update user set password=password('root') where user='root'; 或者:update user set authentication_string=password('root') where user='root';
如果報(bào)錯:ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement.
使用 flush privileges;
如果報(bào)錯:ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'%',則是遠(yuǎn)程訪問權(quán)限不正確,先選擇數(shù)據(jù)庫,查看一下再更改。
update user set host='localhost' where user='root';
flush privileges;
如果出現(xiàn)密碼過于簡單,不讓修改密碼的情況,ERROR 1819 (HY000): Your password does not satisfy the current policy requirements,這是由于mysql8.0以上密碼策略限制必須要大小寫加數(shù)字特殊符號。
6、執(zhí)行后會提示一行已修改。然后刷新下表中數(shù)據(jù):flush privileges;
7、查看用戶:select host,user,password_expired,authentication_string from user;
8、修改允許遠(yuǎn)程連接:update user set host='%' where user='root'; 然后刷新下表中數(shù)據(jù):flush privileges;
9、修改完畢,退出MySQL環(huán)境:quit;
10、 關(guān)閉dos,啟動mysql服務(wù)。