MySQL 使用者名稱:USERNAME (上限16個字元)

Slides:



Advertisements
Similar presentations
第二章 简单的 SQL 语句. 本章要点  创建一个简单的表  SQL 语句介绍  最简单的查询语句 select  带有限制条件的查询  查询结果的排序显示.
Advertisements

作業一 : USING DBMS ( 使用 DB2 及 SQL 基本練習 ) 報告人:學生楊群期 學號: 課程 : 高等資料庫 講師 : 楊維邦教授.
2010 年 6 月课件制作人:王亚楠 1 模块 2 项目开发概论 教学课件 年 6 月课件制作人:王亚楠 2 目录 目标 了解:数据库技术的基本概念与结构 理解:数据模型的分类与结构组成 掌握:关系数据库及 SQL 的基本理论 知识 掌握:数据库设计的方法与步骤 内容 2.1 数据库技术基础.
2011/11,12 南台資管 吳昭儀. 1. 使用者介面 (User Interface)  使用者操作畫面的安排  Textbox, ComboBox, ListBox, CheckList, … 2. 流程控制 (Process Control)  使用者輸入資料檢查  計算  資料輸出.
PHP 训练营 - MySQL OA 产品部 李鑫辉 2011 年 9 月. 内容提要 & 目录 1. 介绍 (10 分钟 ) 1.1. 简介 1.2. 特点 1.3. 安装 2. 语法 (60 分钟 ) 2.1. 存储引擎 MyISAM InnoDB 特点与区别.
Java 技术与应用 数据库应用 ( 第 14 章 ) 西安交大 卫颜俊 2008 年 12 月 电子信箱: QQ: 网站 : /java.
第 7 章 数据库 1. Overview  数据库概述  数据库管理系统  数据库的体系结构和数据库模型  SQL 语言  数据库技术  构建数据库系统 2.
《 ORACLE 》 计算机技术与软件工程学院 胡斌 学习情境 6 系统安全管理( 8 学时) 按照系统的职能范围不同,可将Oracle的安全体系 结构分成三个部分; (1)数据库内部的管理:主要包括用户标识/口令 ;角色与权限等。 (2)资源管理:主要通过系统概要文件限制连接 会话等。 ( 3.
SQL 入门 SQL:Structured query language 北京传智播客教育.
第八单元 数据库MySQL应用基础 MySQL数据库应用基础 MySQ数据库操作使用 Mysql管理工具 第25章 数据库的增加/删除操作
關聯查詢.
第5章 索引及视图操作 数据库原理应用与实践 SQL SERver2014(第2版) 主编 贾铁军 科学出版社 编著 陈国秦 万程 邢一鸣
OceanBase 0.4:从API到SQL 日照
数据库原理及应用 《数据库原理及应用》课程组 荆楚理工学院.
資料庫 (Database) SQL Server 2008實作
数据库概述 简而言之,数据库(DataBase)就是一个存储数据的仓库。为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效的组织和管理存储在数据库中的数据。如今,已经存在了Oracle、SQL Server、MySQL等诸多优秀的数据库。在这一章中将讲解的内容包括。
MySQL資料庫安全管理.
第 八 章 資料庫安全 本投影片(下稱教用資源)僅授權給採用教用資源相關之旗標書籍為教科書之授課老師(下稱老師)專用,老師為教學使用之目的,得摘錄、編輯、重製教用資源(但使用量不得超過各該教用資源內容之80%)以製作為輔助教學之教學投影片,並於授課時搭配旗標書籍公開播放,但不得為網際網路公開傳輸之遠距教學、網路教學等之使用;除此之外,老師不得再授權予任何第三人使用,並不得將依此授權所製作之教學投影片之相關著作物移作他用。
TQC MySql5 第二類 資料庫安裝與啟動.
第4讲 MySQL服务器的配置与应用.
Xoops架站器介紹 基隆市教育網路中心 王言俊 按一下以新增備忘稿.
第六章 Linux的系統管理基礎 課前指引 身為Linux系統管理員,除了熟悉作業系統的安裝、圖形介面的操作及系統指令的使用與軟體套件的安裝外,更需要瞭解基礎的Linux系統管理技巧。本節,將針對此部分進行說明。
创建数据库 MySql创建数据库的语法: CREATE DATABASE 数据库名; 例: CREATE DATABASE mydb;
第三章 管理信息系统的技术基础 主要内容: 数据处理 数据组织 数据库技术 4. 计算机网络.
資料庫管理 資管二 賴柏融.
An Introduction to Database System
第7章 建立資料表與完整性限制條件 7-1 資料型別 7-2 資料表的建立 7-3 建立完整性限制條件 7-4 修改與刪除資料表
Introduction to database
第十五章 常見的資料庫管理系統 目的 Oracle 微軟SQL Server 微軟Access MySQL Oracle 應用伺服器
資料庫管理 HOMEWORK #3 楊立偉教授 台灣大學工管系 2013 Fall.
2018/11/11 CGI程式設計進階 (for UNIX Perl) 國立中央大學電算中心 陳慶彥.
Mongodb初中级实战教程 讲师:涂宗勋 讲师的CSDN博客地址
課程名稱:資料庫系統 授課老師:李春雄 博士
PHP與MySQL 入門學習指南 凱文瑞克 著 第 23 章 資料型別.
第十一章 資料庫設計與權限設定.
SQL Injection (資料隱碼) 簡介
二.資料庫系統建立與管理 Access 資料庫:windows下的單機資料庫 Access 操作 Mysql資料庫介紹.
Chap 10 SQL定義、操作與控制指令.
第 7 章 建立資料表與 資料庫圖表.
資料庫安全 (Database Security)
SQL Server 2000 数据库入门.
第3章 MySQL教學範本 主從式資料庫系統 - CH3.
資料庫管理 HOMEWORK #3 楊立偉教授 台灣大學工管系 2015 Fall.
MySQL数据库基础与实例教程 之 MySQL表结构的管理 郭水泉.
教 师:曾晓东 电 话: 数据库技术 教 师:曾晓东 电 话:
資料庫管理 HOMEWORK #4 楊立偉教授 台灣大學工管系 2014 Fall.
SQL Injection (資料隱碼) 學生:a 吳倩瑜 指導教授:梁明章.
使用PHP來操作資料庫 教授:楊維邦 教授 助教:李政均、劉秋良.
实验二讲评 … 张榆….
第 10 章 数据库编程.
第20章 MySQL数据库.
数据库技术与应用.
MySQL管理 透過phpmyadmin來完成(MySQL的管理系統)
MySQL开发规范 DB组-张浩.
雲端計算.
架站實做—AppServ
第11章 ListView延迟加载效果 授课老师:高成珍 QQ号: QQ群: 、
認識資料庫 MySQL 資料庫新增 MySQL 資料表新增 認識欄位資料表 資料新增、刪除、修改、瀏灠 資料表清空與刪除
認識資料庫 MySQL 資料庫新增 MySQL 資料表新增 認識欄位資料表 資料新增、刪除、修改、瀏灠 資料表清空與刪除
An Introduction to Database System
4.2 视图 (1) 视图是一个虚拟表,其内容来自对表查询的基础上。
CS, ZJU 4/18/2019 Chapter 7 数据库.
3.2 Mysql 命令行 1 查看数据库 SHOW DATABASES; 2 创建一个数据库test1 CREATE DATABASE test1; 3 选择你所创建的数据库 USE test1; (按回车键出现Database changed 时说明操作成功!) 4 查看现在的数据库中存在什么表.
第12章 MySQL資料庫系統的使用 12-1 網頁資料庫的基礎 12-2 MySQL資料庫系統
OceanBase 0.4:从API到SQL 日照
第三章 SQL Server数据管理.
第六類 資料庫備份與回復.
11 檢視表的建立 11-1 檢視表的基礎 11-2 建立檢視表 11-3 修改與刪除檢視表 11-4 編輯檢視表的內容.
第4章 数据查询.
数据库应用技术 天津电大 翟迎建.
Presentation transcript:

MySQL 帳號:USERNAME@主機位置(root@localhost) 使用者名稱:USERNAME (上限16個字元) 密碼:PASSWORD (MySQL有自己的加密系統) (沒有字數上限) password() SQL function MySQL中的帳號與密碼跟系統的帳號密碼無關 MySQL允許有設帳號但是沒有密碼的使用者進入 安裝完後會產生預設的幾組帳號

MySQL連線操作

table_priv、columns_priv MySQL 一般而言,裝好MySQL之後,會有二個預設資料庫,分別是mysql及test。 然而MySQL本身能儲存多個資料庫,因此我們可以下mysqlshow指令來顯示目前MySQL有幾個資料庫。 MySQL一般有五個最重要的表格。 茲列如下: user、db、host以及tables_priv、columns_priv user、db、host table_priv、columns_priv 主要是過濾使用者是否有“存取某個主機的某個資料庫資料”的權限,此三個表格是互相交叉對應的。 主要可以使得MySQL對個別表格 (table)或欄(column)設定權限。

MySQL 預設帳號(grant table)的建立: Windows:自動建立 Unix/Linux:手動建立,mysql_install_db 兩個沒有密碼的root帳號,最高權限,只允許本機登入 兩個沒有帳號密碼的使用者,也只允許本機登入

MySQL 登入系統: 使用command-line >mysql –uUSERNAME –pPASSWORD DB_NAME > mysql --user=USERNAME --password=PASSWORD DB_NAME 注意-p與PASSWORD間不可以有空白 PASSWORD可以省略,以使詢問訊息出現

MySQL 預設帳號都沒有密碼,所以第一件事請先設定密碼或是將不需要的帳號移除 設定密碼: SET PASSWORD Mysqladmin UPDATE >mysqladmin -u root password "newpwd“ >mysqladmin -u root -h host_name password "newpwd" 必須要第一次做才可如果已經使用它種方法設定,此法失效

MySQL 預設帳號都沒有密碼,所以第一件事請先設定密碼或是將不需要的帳號移除 設定密碼: SET PASSWORD Mysqladmin UPDATE >mysql -u root mysql mysql> SET PASSWORD FOR ‘root’@‘localhost’ = PASSWORD(‘newpwd’); 或 mysql> SET PASSWORD FOR root= PASSWORD('newpwd'); 改變localhost可以設定另外一個root帳號的密碼

MySQL 預設帳號都沒有密碼,所以第一件事請先設定密碼或是將不需要的帳號移除 設定密碼: SET PASSWORD Mysqladmin UPDATE >mysql -u root mysql mysql> UPDATE user SET Password = PASSWORD('newpwd') -> WHERE User = 'root'; mysql> FLUSH PRIVILEGES; 同時設定兩組root帳號的密碼 需要手動讓設定值生效( FLUSH PRIVILEGES )

MySQL 刪除兩組預設帳號密碼都沒有的帳號 >mysql -u root mysql mysql> DELETE FROM user WHERE User = ''; mysql> FLUSH PRIVILEGES; 同時刪除兩組帳號 需要手動讓設定值生效( FLUSH PRIVILEGES )

MySQL 新增帳號: grant Insert into Phpmyadmin或其他 >mysql --user=root mysql mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost' -> IDENTIFIED BY 'some_pass' WITH GRANT OPTION; 有最高權限的使用者monty,密碼some_pass,只可以從localhost進入MySQL mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%' 有最高權限的使用者monty,密碼some_pass,可以從任何地點進入MySQL mysql> GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost'; 沒有密碼,有reload與process權限的使用者admin mysql> GRANT USAGE ON *.* TO 'dummy'@'localhost'; 沒有密碼與任何權限的使用者dummy

MySQL 使用grant新增帳號連結特定資料庫(在user新增使用者,db新增使用權限) >mysql --user=root mysql mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP -> ON bankaccount.* -> TO 'custom'@'localhost' -> IDENTIFIED BY 'obscure'; access the bankaccount database, but only from the local host. -> ON expenses.* -> TO 'custom'@'whitehouse.gov' access the expenses database, but only from the host whitehouse.gov. -> ON customer.* -> TO 'custom'@'server.domain' access the customer database, but only from the host server.domain.

MySQL 新增帳號: grant Insert into (需要FLUSH) Phpmyadmin或其他 >mysql --user=root mysql mysql> INSERT INTO user -> VALUES('localhost','monty',PASSWORD('some_pass'), -> 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'); -> VALUES('%','monty',PASSWORD('some_pass'), mysql> INSERT INTO user SET Host='localhost',User='admin', -> Reload_priv='Y', Process_priv='Y'; mysql> INSERT INTO user (Host,User,Password) -> VALUES(‘localhost’,‘dummy’,‘’); 預設關閉所有權限 mysql> FLUSH PRIVILEGES;

MySQL 使用insert新增帳號連結特定資料庫 分兩階段進行 >mysql --user=root mysql mysql> INSERT INTO user (Host,User,Password) -> VALUES('localhost','custom',PASSWORD('obscure')); mysql> INSERT INTO db -> (Host,Db,User,Select_priv,Insert_priv, -> Update_priv,Delete_priv,Create_priv,Drop_priv) -> VALUES('localhost','bankaccount','custom', -> 'Y','Y','Y','Y','Y','Y'); mysql> FLUSH PRIVILEGES;

MySQL >mysql --user=root mysql mysql> INSERT INTO user (Host,User,Password) -> VALUES('whitehouse.gov','custom',PASSWORD('obscure')); -> VALUES('server.domain','custom',PASSWORD('obscure')); mysql> INSERT INTO db -> (Host,Db,User,Select_priv,Insert_priv, -> Update_priv,Delete_priv,Create_priv,Drop_priv) -> VALUES('whitehouse.gov','expenses','custom', -> 'Y','Y','Y','Y','Y','Y'); -> VALUES('server.domain','customer','custom', mysql> FLUSH PRIVILEGES;

MySQL 刪除帳號: Delete >mysql –uroot –pPassword mysql mysql>delete from user where user=‘USERNAME’; mysql> FLUSH PRIVILEGES;

MySQL-資源限制 一個帳號每小時可以執行的詢問次數max_questions 一個帳號每小時可以執行的修改次數max_updates (The number of queries that an account can issue per hour) 一個帳號每小時可以執行的修改次數max_updates (The number of updates that an account can issue per hour) 一個帳號每小時可以連結Server的次數max_connections (The number of times an account can connect to the server per hour) 針對每個account而不是client 需要Upgrade Grant Table User to add new privileges

MySQL- Upgrade Grant Table From version 4.0.15 on, MySQL distributions include a mysql_fix_privilege_tables.sql SQL script that you can run using the mysql client C:\mysql\bin>mysql -u root -p mysql mysql> SOURCE C:\mysql\scripts\mysql_fix_privilege_tables.sql 如果MySQL版本太舊需要先更新MySQL

MySQL-資源限制 GRANT 新增限制 mysql> GRANT ALL ON customer.* TO 'francis'@'localhost' -> IDENTIFIED BY 'frank' -> WITH MAX_QUERIES_PER_HOUR 20 -> MAX_UPDATES_PER_HOUR 10 -> MAX_CONNECTIONS_PER_HOUR 5; 預設0 表示 no limit 修改限制 mysql> GRANT USAGE ON *.* TO 'francis'@'localhost' -> WITH MAX_QUERIES_PER_HOUR 100; 取消限制 -> WITH MAX_QUERIES_PER_HOUR 0;

MySQL-資源限制 Reset所有account的限制 FLUSH USER_RESOURCES FLUSH PRIVILEGES mysqladmin reload

MySQL-修改密碼 mysql> SET PASSWORD FOR 'jeffrey'@'%' = PASSWORD('biscuit'); mysql> GRANT USAGE ON *.* TO 'jeffrey'@'%' IDENTIFIED BY 'biscuit'; shell> mysql -u root mysql mysql> UPDATE user SET Password = PASSWORD('bagel') -> WHERE Host = '%' AND User = 'francis'; mysql> FLUSH PRIVILEGES;

MySQL-透過Phpmyadmin 密碼記得要加密 password()

MySQL-如何使連線更安全 不安全的方式: >mysql -u francis -pfrank db_name 如何解決 使用SSL來連線

MySQL-備份 MySQL目錄下的BIN文件夾中有一个mysqldump.exe的程式,這就是它的備份程式。 執行方法如下: 檔案路徑:\mysql\bin>mysqldump -u root -proot orapp > back.sql back.sql就是備份後的文件

MySQL-備份 使用 phpMyAdmin備份:     備份:     進入選擇資料庫 ---> 輸出     SQL 選項 請注意要勾選 結構及資料     下載選項則要 勾選 下載儲存,並設定好檔案名稱,     是否壓縮自行決定,再點選執行就可下載檔案     還原:     進入 phpMyAdmin 後,將資料庫刪除,     再重新建立一個資料庫,再選擇資料庫後,點選SQL     瀏覽選擇文字檔案的位置,點選執行,就可以將原本資料庫還原。

MySQL-備份 將整個資料庫檔複製下來(如果mysql版本相差不大時可以採用此法), 備份前先將停止 MySQL 服務! 可以將 c:\mysql\data\xxx 整個資料夾複製下來備份, 要復原成備份狀態,只需將資料夾複製回 c:\mysql\data\ 下, 即可使用。

MySQL 資料庫操作

MySQL-資料庫 建立資料庫: mysql>Create database 資料庫名稱; //不分大小寫 使用資料庫: 刪除資料庫: >mysqladmin create 資料庫名稱 使用資料庫: mysql> Use 資料庫名稱; //使用資料庫 刪除資料庫: mysql> Drop database 資料庫名稱; //刪除資料庫 >mysqladmin drop 資料庫名稱 關閉資料庫 >mysqladmin shutdown >mysqladmin ping //測試資料庫是否live

MySQL-資料表 建立資料表: mysql>Create table 資料表名稱 (欄位名稱1 型態,欄位名稱2 型態…); mysql>show tables; //顯示所有資料表 mysql>show columns from 資料表名稱; //顯示欄位 mysql>select * from 資料表名稱; //顯示資料表內所有內容 mysql>Create table if not exits 資料表名稱 (欄位名稱1 型態,欄位名稱2 型態…); //資料表不存在時才建立

MySQL-資料型態 數值型態 自動增量 自動補齊0設定 無號數 字元或字串型態(char vs. varchar) Text vs. blob型態 Enum vs. set型態

MySQL-資料表 變更資料表名稱: mysql>alter table 資料表名稱 rename 新名稱; mysql>show tables; //顯示所有資料表 mysql>show columns from 資料表名稱; //顯示欄位 變更欄位名稱: mysql>alter table 資料表名稱 change 欄位名稱 新名稱 資料型態; mysql>show columns from 資料表名稱; 變更欄位資料型態: mysql>alter table 資料表名稱 change 欄位名稱 欄位名稱 資料型態;

MySQL-資料表 刪除資料表: mysql>drop table 資料表名稱; mysql>show tables; //顯示所有資料表 刪除部分欄位: mysql>alter table 資料表名稱 drop 欄位名稱; mysql>show columns from 資料表名稱; 新增欄位: mysql>alter table 資料表名稱 add 欄位名稱 資料型態;

MySQL-資料表 建立索引: mysql>alter table 資料表名稱 add index (欄位名稱); mysql>alter table 資料表名稱 add primary key (欄位名稱); mysql> show columns from 資料表名稱; 刪除索引: mysql>alter table 資料表名稱 drop index 欄位名稱; mysql>alter table 資料表名稱 drop primary key 欄位名稱; mysql>show columns from 資料表名稱;