1.1 下載:
1 http://dev.mysql.com/downloads/mysql/
1.2 解壓javascript
1.3 初始化java
1 cd c:\mysql-5.7.16-winx64\bin (終端輸入,進入可執行文件目錄,下同) 2 3 mysqld --initialize-insecure
1.4 啓動mysql服務mysql
1 mysqld # 啓動MySQL服務,在終端輸入(下同)
1.5 啓動MySQL客戶端並鏈接MySQL服務sql
因爲初始化時使用的【mysqld --initialize-insecure】命令,其默認未給root帳戶設置密碼數據庫
1 # 進入可執行文件目錄 2 cd c:\mysql-5.7.16-winx64\bin 3 4 # 鏈接MySQL服務器 5 mysql -u root -p 6 7 # 提示請輸入密碼,直接回車
輸入回車,見下圖表示安裝成功:windows
1.6 添加環境變量服務器
1.7 將MySQL服務製做成windows服務架構
1 # 製做MySQL的Windows服務,在終端執行此命令: 2 "c:\mysql-5.7.16-winx64\bin\mysqld" --install 3 4 # 移除MySQL的Windows服務,在終端執行此命令: 5 "c:\mysql-5.7.16-winx64\bin\mysqld" --remove
註冊成服務以後,之後再啓動和關閉MySQL服務時,僅需執行以下命令:socket
1 # 啓動MySQL服務 2 net start mysql 3 4 # 關閉MySQL服務 5 net stop mysql
1.8 Linux 版本ide
安裝:
1 yum install mysql-server
服務端啓動:
1 mysql.server start
客戶端鏈接:
1 鏈接: 2 mysql -h host -u user -p 3 4 常見錯誤: 5 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2), it means that the MySQL server daemon (Unix) or service (Windows) is not running. 6 退出: 7 QUIT 或者 Control+D
2.1 顯示數據庫
1 # 終端輸入 2 3 SHOW DATABASES; 4 5 # 不區分大小寫,下同
默認數據庫:
mysql - 用戶權限相關數據
test - 用於用戶測試數據
information_schema - MySQL自己架構相關數據
2.2 建立數據庫
1 # utf-8 2 CREATE DATABASE 數據庫名稱 DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 3 4 # gbk 5 CREATE DATABASE 數據庫名稱 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
2.3 使用數據庫
1 USE db_name;
顯示當前使用的數據庫中全部表:SHOW TABLES;
2.4 用戶管理
1 建立用戶 2 create user '用戶名'@'IP地址' identified by '密碼'; 3 刪除用戶 4 drop user '用戶名'@'IP地址'; 5 修改用戶 6 rename user '用戶名'@'IP地址'; to '新用戶名'@'IP地址';; 7 修改密碼 8 set password for '用戶名'@'IP地址' = Password('新密碼') 9 10 PS:用戶權限相關數據保存在mysql數據庫的user表中,因此也能夠直接對其進行操做(不建議)
2.5 受權管理
1 show grants for '用戶'@'IP地址' -- 查看權限 2 grant 權限 on 數據庫.表 to '用戶'@'IP地址' -- 受權 3 revoke 權限 on 數據庫.表 from '用戶'@'IP地址' -- 取消權限
1 all privileges 除grant外的全部權限 2 select 僅查權限 3 select,insert 查和插入權限 4 ... 5 usage 無訪問權限 6 alter 使用alter table 7 alter routine 使用alter procedure和drop procedure 8 create 使用create table 9 create routine 使用create procedure 10 create temporary tables 使用create temporary tables 11 create user 使用create user、drop user、rename user和revoke all privileges 12 create view 使用create view 13 delete 使用delete 14 drop 使用drop table 15 execute 使用call和存儲過程 16 file 使用select into outfile 和 load data infile 17 grant option 使用grant 和 revoke 18 index 使用index 19 insert 使用insert 20 lock tables 使用lock table 21 process 使用show full processlist 22 select 使用select 23 show databases 使用show databases 24 show view 使用show view 25 update 使用update 26 reload 使用flush 27 shutdown 使用mysqladmin shutdown(關閉MySQL) 28 super 使用change master、kill、logs、purge、master和set global。還容許mysqladmin調試登錄 29 replication client 服務器位置的訪問 30 replication slave 由複製從屬使用 31 32 對於權限
1 對於目標數據庫以及內部其餘: 2 數據庫名.* 數據庫中的全部 3 數據庫名.表 指定數據庫中的某張表 4 數據庫名.存儲過程 指定數據庫中的存儲過程 5 *.* 全部數據庫
1 用戶名@IP地址 用戶只能在該IP下才能訪問 2 用戶名@192.168.1.% 用戶只能在該IP段下才能訪問(通配符%表示任意) 3 用戶名@% 用戶能夠再任意IP下訪問(默認IP地址爲%)
1 grant all privileges on db1.tb1 TO '用戶名'@'IP' 2 3 grant select on db1.* TO '用戶名'@'IP' 4 5 grant select,insert on *.* TO '用戶名'@'IP' 6 7 revoke select on db1.tb1 from '用戶名'@'IP'
特殊的:
1 flush privileges,將數據讀取到內存中,從而當即生效。
1 # 啓動免受權服務端 2 mysqld --skip-grant-tables 3 4 # 客戶端 5 mysql -u root -p 6 7 # 修改用戶名密碼 8 update mysql.user set authentication_string=password('666') where user='root'; 9 flush privileges;