MYSQL數據庫學習(一)搭建環境,創建角色分配權限


備注:環境為MySQL Community Server 8.0.19版本

第一步:先到官網下載,這里我下載的是綠色版鏈接:https://dev.mysql.com/downloads/mysql/

第二步:打開剛剛解壓的文件夾 C:\web\mysql-8.0.11 ,在該文件夾下創建 my.ini 配置文件,編輯 my.ini 配置以下基本信息:

[client]
# 設置mysql客戶端默認字符集
default-character-set=utf8
 
[mysqld]
# 設置3306端口
port = 3306
# 設置mysql的安裝目錄
basedir=C:\\web\\mysql-8.0.11
# 設置 mysql數據庫的數據的存放目錄,MySQL 8+ 不需要以下配置,系統自己生成即可,否則有可能報錯
# datadir=C:\\web\\sqldata
# 允許最大連接數
max_connections=20
# 服務端使用的字符集默認為8比特編碼的latin1字符集
character-set-server=utf8
# 創建新表時將使用的默認存儲引擎
default-storage-engine=INNODB

具體其他ini配置可參考這篇博客:https://blog.csdn.net/lienfeng6/article/details/78140404

第三步:以管理員身份運行控制台程序

 

 

 首先切換到對應的文件夾:

cd E:\mysql-8.0.19-winx64\bin

初始化數據庫:(空格不可省略)

mysqld --initialize --console

執行完成后,會輸出 root 用戶的初始默認密碼,如:

光知道密碼還不夠,我們還需要安裝:

mysqld install

 知道初始密碼后我們就可以登錄我們的mysql數據庫了,但是我們還要開啟mysql服務:

net start mysql   啟動mysql服務
net stop mysql    關閉mysql服務

 

 服務啟動成功后我們就可以登錄我們的數據庫啦:

mysql -h 主機名 -u 用戶名 -p
  • -h : 指定客戶端所要登錄的 MySQL 主機名, 登錄本機(localhost 或 127.0.0.1)該參數可以省略;
  • -u : 登錄的用戶名;
  • -p : 告訴服務器將會使用一個密碼來登錄, 如果所要登錄的用戶名密碼為空, 可以忽略此選項。
  • 實例:mysql -h 192.168.0.201 -P 3306 -u root -p123

成功效果:

 

失敗效果:失敗可能是服務沒開,配置不對,等等原因,具體原因具體分析

 

登錄成功后我們首先需要修改我們的初始密碼

8.0以前版本代碼

update user set password=password('你的密碼') where user='root' and host='localhost';

8.0以后版本

"ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密碼';" 

之后我們就可已創建我們的用戶和權限了

8.0之前

root@host# mysql -u root -p
Enter password:*******
mysql> use mysql;
Database changed

mysql> INSERT INTO user 
          (host, user, password, 
           select_priv, insert_priv, update_priv) 
           VALUES ('localhost', 'guest', 
           PASSWORD('guest123'), 'Y', 'Y', 'Y');
Query OK, 1 row affected (0.20 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 1 row affected (0.01 sec)

mysql> SELECT host, user, password FROM user WHERE user = 'guest';
+-----------+---------+------------------+
| host      | user    | password         |
+-----------+---------+------------------+
| localhost | guest | 6f8c114b58f2ce9e |
+-----------+---------+------------------+
1 row in set (0.00 sec)

 

8.0之后

mysql> grant all on *.* to 'admin'@'%' identified by 'admin123';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by 'admin123'' at line 1
mysql> create user 'admin'@'%' identified by 'admin123';
Query OK, 0 rows affected (0.06 sec)

mysql> grant all on *.* to 'admin'@'%' ;
Query OK, 0 rows affected (0.04 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM