編碼的世界 / 優質文選 / 歷史

mysql登錄命令


2022年7月22日
-   

#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 root

  • char
    #存儲過程
  • 存儲過程必須歸屬於 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;

    熱門文章