mysql8.0.13 使用筆記

不同版本會有異同,注意MySQL版本。

基本操作 mysql版本8.0.13

sudo mysql -uroot -p # 鏈接數據庫,下一步輸入密碼
# 下面是mysql的命令行
show databases; # 查看所有有權限的數據庫
create database firstDB; # 創建數據庫
use firstDB; 
show tables; # 查看所有有權限的數據表
select database(); # 查看當前使用數據庫
drop database firstDB; # 刪除數據庫

聲明、刪除、使用存儲變量

-- 刪除存儲過程
DROP PROCEDURE IF EXISTS initData;
-- 創建存儲過程
delimiter $$
CREATE PROCEDURE initData()
BEGIN
	DECLARE i INT DEFAULT 1;
	WHILE i<3 DO
		INSERT users(`name`, pass, email) VALUES(CONCAT("name", i), "xxx", CONCAT("email", i));
		SET i=i+1;
	END WHILE;
END$$
-- 恢復結束標識是分號
delimiter;
-- 使用存儲過程函數
call initData();

添加字段 類型 註釋

可以添加多個,逗號分隔。

ALTER TABLE users 
	ADD ( 
		`uuid` VARCHAR(255)
		 DEFAULT NULL
		 COMMENT "更改密碼使用的uuid"
		 AFTER pass)

添加唯一索引:

ALTER TABLE users ADD UNIQUE INDEX(email)

Navicat鏈接aws的mysql 原文

  1. 安全組,添加規則。選擇規則MYSQL/Aurora,端口設置爲3306,tcp
  2. 取消綁定地址,允許來自外網的訪問
vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 找到bind-address = 127.0.0.1,註釋掉
  1. 登錄數據庫
    目的是添加用戶username並且都可以訪問
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;

或者更改root遠程訪問

USE mysql;
UPDATE user SET Host='%' where User='root';
FLUSH PRIVILEGES;
  1. 重啓mysql
sudo service mysql restart

用戶&&權限

-- 使用數據庫 mysql
use mysql;
-- 查詢用戶
SELECT `Host`,`User` FROM `user`;
-- 添加用戶,名字:test01;允許IP:localhost;密碼:123456
CREATE USER 'test01'@'localhost' IDENTIFIED by '123456';
-- 刪除用戶
DROP USER 'test01'@'localhost';
-- 添加權限 當表不存在的時候可以執行
GRANT SELECT ON nodesql.* TO 'test01'@'localhost';
-- 刪除權限 當表不存在的時候執行不成功
REVOKE INSERT ON nodesql.* FROM 'test01'@'localhost';
REVOKE ALL PRIVILEGES ON nodesql.* FROM 'test01'@'localhost'; -- 刪除所有權限
-- 修改密碼
ALTER USER 'test01'@'localhost' IDENTIFIED by '123qwe'
-- 重命名 也可以改host
RENAME USER 'test01'@'localhost' TO 'test02'@'localhost';
-- 查看權限
SHOW GRANTS;
SHOW GRANTS FOR 'test01'@'localhost';
-- GRANT USAGE ON *.* TO `test01`@`localhost`
-- GRANT SELECT ON `nodesql`.* TO `test01`@`localhost`
-- 刷新權限
FLUSH PRIVILEGES;

mysql數據庫用戶在創建的時候就會賦予USAGE權限,這個權限很小,幾乎爲0。只能連接數據庫和查詢information_schema的權限、可以修改自己的密碼。不過這個權限也很奇怪,你無法revoke。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章