#1. mysql登錄命令
mysql -u (用戶名) -h (mysql服務所在地址) -P (可選默認3306 指定端口號) -p
mysql -u root -h 127.0.0.1 -P3306 -p
#2. show databases; 查看數據庫
#3. use databases; 進入數據庫
#4. show tables; 查看當前所在數據庫下面的所有表
#5. show columns from mysql.db 查看mysql數據庫下面的db表的字段
總結 show命令是查看數據庫或者表的結構(show不會給你查看數據)
#2. grant 授權
grant all privileges on . to root@127.0.0.1 identified by “123456” with grant option; grant all PRIVILEGES on . to ‘admin1’@‘127.0.0.1’ IDENTIFIED by ‘123456’ with grant option grant 表示授權 all privileges表示用戶可以有所有的權限 on . (.的前面表示什麼數據庫,後面表示數據庫裏面的什麼表 . 表示所有的數據庫裏面的所有表) to 給哪個用戶授權 @表示這個用戶必須在哪裏登錄才有這個權限 如有你想給所有ip 那麼要使用 root@’%’ identified
在刷新完權限之後要執行 flush privileges; 使他生效
8.0授權
#設置密碼強度要求低(可以不用這個命令,如果沒有這個命令 那麼在下面的密碼就設置複雜的密碼) set global validate_password_policy=LOW; #首先創建用戶 create user admin1@127.0.0.1 identified by ‘admin@123456’
grant all PRIVILEGES on . to admin1@127.0.0.1
flush PRIVILEGES
ip的正則
root@“10.1.0.%”
grant權限
mysql 四種權限 增刪查改 select insert update delete
#安全模式 如果你的mysql密碼忘記了
重裝8.0直接初始化密碼啟動安全模式 ./mysqld skip-grant-tables;啟動 如果啟動成功 mysql -u rootchar
#存儲過程
存儲過程必須歸屬於 databases上面
存儲過程定義方式 create procedure show_users(); (show_users函數名 自定義) begin
函數體
end
在制作存儲過程的時候,切忌修改分隔符 delimiter $$
在定義完成之後,切忌把分隔符修改回來
調用存儲過程 call show_users();
示例
定義
delimiter $$
create procedure show_users1()
begin
select host,user from mysql.user;
select host,db from mysql.db;
end
$$
delimiter ;
調用
call show_users1();
存儲過程或者存儲函數的優點
速度快: 在定義號存儲過程的時候,mysql就已經把裏面的語句 優化好了,他的速度是比你調用普通的select 這些要快的
缺點:
代碼定死的 很難維護 其實還不如寫在程序
#觸發器
修改分隔符create trigger +觸發器名稱begin 執行語句 end調用 (自動調用滿足條件之後自動)#觸發器的原理
在數據被更新之前還是之後 before after 什麼操作去執行觸發 insert update … 監聽什麼表該觸發 on table
delimiter $$
create trigger add_salary
before insert on employee
for each row
BEGIN
set NEW.salary = NEW.salary + 1000;
end
$$
delimiter ;
查看觸發器 show TRIGGERS;