1.下載地址https://dev.mysql.com/downloads/mysql/
2.解壓,
打開mysql-8.0.11-winx64目錄裡面沒有my-default.ini,自己新建一個文件my.ini
my.ini的文件內容:
[mysqld]
# 設置3306端口
port=3306
# 設置mysql的安裝目錄
basedir=D:\losedguest\MySql
# 設置mysql數據庫的存放目錄
datadir=D:\losedguest\MySQLDB
# 允許最大連接數
max_connections=200
# 允許連接失敗的次數,這是?了防止從主機連接的攻擊
max_connect_errors=10
# 服務器使用默認字符UTF-8
character-set-server=utf8
# 創建新表是將使用的默認存儲引擎
default-storage-engine=INNODB
# 默認使用mysql_native_password
default_authentication_plugin=mysql_native_password
[mysql]
# 設置mysql客戶端默認字符機
default-character-set=utf8
[client]
# 設置mysql客戶連接服務端默認使用的端口
port=3306
default-character-set=utf8
3.設置環境變量
可以直接將路徑加到path里D:\losedguest\mysql-8.0.11-winx64;
或者建立一個新的MYSQL_HOME值D:\losedguest\mysql-8.0.11-winx64\ ,然後再path里加入%MYSQL_HOME%\bin;
Tips
a.不加環境變量,後面在cmd里運行mysql 會提示mysql 不是內部或外部命令、可執行的程式或批次檔。
b.環境變量設定好了依然提示不是內部命令的可以在環境變量path里加入c:windows/system32;加入后還提示的請檢查環境變量是否正確
c.環境變臉設定好後,cmd需要重新打開,否則環境變臉不生效
4.開始安裝mysql 命令mysqld --install
進入cmd到mysql-8.0.11-winx64;
運行mysqld --install
Tips:mysqld不是mysql,否則可能報錯Can't connect to MySQL server on 'localhost' (10061)
5.初始化 ,命令: mysqld --initialize --console
a.異常沒有找到errmsg.sys,將mysql-8.0.11-winx64\share下面的english文件夾複製到(basedir)D:\losedguest\MySql,需要手動建share文件夾
b.異常 data directory has files 將設定的(datadir)D:\losedguest\MySQLDB里的資料刪掉
D:\losedguest\MySql和D:\losedguest\MySQLDB分別是my.ini里設定的basedir和datadir
6.啟動服務 命令:net start mysql
7.登陸mysql:命令:mysql -u root -p 輸入初始化的密碼
8.修改密碼 密碼不要設置為空,後續可能會有很多坑
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '666666';
記得要;結束
9.使用MySQL Client連接
SQLYog新建一個連接MailTest
10.Mysql安轉成功后,創建數據庫 命令:create database testdb; mysql命令記住要輸入分號結束,引號也需要結束,
10.1登陸root賬號:mysql -u root -p
10.2 創建db:create database testdb;
10.3 顯示已有db:show databases;
11.創建賬戶create user 'testuser'@'%' identified by '00000';
賬戶testuser,密碼00000,%表示可以遠程連接 常用localhost
注意:此处的"localhost",是指该用户只能在本地登录,不能在另外一台机器上远程登录。如果想远程登录的话,将"localhost"改为"%",表示在任何一台电脑上都可以登录。也可以指定某台机器可以远程登录。
12.用testuser登陸
先退出 exit,然後 mysql -u testuser -p
輸入密碼登陸
13.給testuser用戶授testdb權grant all privileges on testdb.* to "testuser"@"%"; (privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等) ,授所有數據權 用grant all privileges on *.* to "testuser"@"%";
退出testuser賬號切換成root賬號,之前登陸了testuser沒有授權會提示訪問被拒,在root賬號下執行成功
flush privileges;//刷新系统权限表
14,測試下MySql Client的連接 以下採用的sqlyog