<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] ## 用戶連接MySQL 格式: `mysql [-h主機地址] -u用戶名 -p[用戶密碼]` 1. 本地連接 ~~~ $ mysql -uroot -p ~~~ 2. 遠程連接 ~~~ $ mysql -h10.0.0.1 -uroot -p[123] ~~~ ## 修改用戶密碼 格式:`mysqladmin -u用戶名 -p舊密碼 password 新密碼` ~~~ $ mysqladmin -uroot -pab12 password 456 ~~~ ## 增加新用戶 格式:`grant all on 數據庫.數據表 to 用戶名@登錄主機 identified by "[密碼]";` 例:增加一個用戶test1密碼為abc,讓他可以在任何主機上登錄,并對所有數據庫有查詢、插入、修改、刪除的權限。 ~~~ mysql> grant select,insert,update,delete on *.* to test2@"%" identified by "abc"; ~~~ ## MySQL中用戶權限的控制 mysql的權限控制可以大致分為三個層面: 1. 連接上允不允許(是否能登錄到mysql服務器) 2. 數據庫層面:允許用戶操作哪些數據庫 3. 數據表層面上:允許用戶操作哪些表,并可以定義對表的操作權限:比如insert,create,update等。 此外,如果還覺得不夠精細,MySQL還可以精確到對某表某列控制操作權限。 我們在安裝MySQL的過程中,會有一個會話定義你的用戶名和密碼,這里我用的是root和123456,這個用戶名,是最開始連接到MySQL的用戶。 我們用`root`和`123456`連接登錄MySQL之后, ~~~ # 登錄mysql命令 $ mysql -u root -p; ~~~ `show databases;`可以看到有很多數據庫。 `use mysql;` 使用`mysql`數據庫,在這個數據庫里,可以看到3個表:`user`表,`db`表和`table_priv`。 ![](https://img.kancloud.cn/1a/9e/1a9ed505a2e0720b4670d70dc61cd044_368x446.png) 查看`user`表則可以看到能登錄到MySQL的用戶信息。 用`select \*from db\G `可以從`db`表中看到哪些用戶擁有對哪些數據庫的權限。 查看`tables_priv`可以查看用戶擁有哪些表的操作權限。 新增用戶,在增加用戶的同時必須指定對庫、表的權限。 不能僅僅通過向`user`表新增記錄而成功。 ~~~ mysql> insert into user (host,user,password)values('localhost','hehe','123456'); ~~~ MySQL會報錯:`ERROR 1364 (HY000): Field 'ssl\_cipher' doesn't have a default value` **正確的做法:** `grant [權限1,權限2...] on 某庫.某表 to 新用戶名@'主機名/IP地址' identified by '[密碼]';` 如果要刪除這個用戶,用`delete`語句就可以了。 - 連接權限 我們可以定義一個用戶并讓他擁有所有庫,所有表的所有增刪改查等操作權限,語句如下: ~~~ mysql> grant all on *.* to hehe@'localhost' identified by '123456'; ~~~ - 庫權限 ~~~ mysql> grant all on 庫a.* to hehe@'localhost' identified by '123456'; ~~~ - 表權限 ~~~ mysql> grant all on 庫a.表a to hehe@'localhost' identified by '123456'; ~~~ ## `mysqladmin`命令 `mysqladmin`是[mysql](http://man.linuxde.net/mysql "mysql命令")服務器管理任務的客戶端工具,它可以檢查mytsql服務器的配置和當前工作狀態,創建和刪除數據庫,創建用戶和修改用戶密碼等操作。 ### 語法 ~~~bash mysqladmin(選項)(參數) ~~~ ### 選項 `-h`:MySQL服務器主機名或ip地址; `-u`:連接MySQL服務器的用戶名; `-p`:連接MySQL服務器的密碼; `--help`:顯示幫助信息。 ### 參數 管理命令:需要在MySQL服務器上執行的管理命令。 **mysqladmin支持下列命令:** `create databasename`:創建一個新數據庫; `drop databasename`:刪除一個數據庫及其所有表; `extended-status`:給出服務器的一個擴展狀態消息; `flush-hosts`:清空所有緩存的主機; `flush-logs`:清空所有日志; `flush-tables`:清空所有表; `flush-privileges`:再次裝載授權表(同reload); `kill id,id,...`:殺死mysql線程; `password` 新口令:將老密碼改為新密碼; `ping`:檢查mysqld是否活著; `processlist`:顯示服務其中活躍線程列表; `reload`:重載授權表; `refresh`:清空所有表并關閉和打開日志文件; `shutdown`:關掉服務器; `status`:給出服務器的簡短狀態消息; `variables`:打印出可用變量; `version`:得到服務器的版本信息。 ## 顯示命令 ### `show`顯示數據庫,顯示庫中的表 - 顯示數據庫 ~~~ mysql> show databases; ~~~ - 顯示庫中的數據表 ~~~ mysql> use mysql; mysql> show tables; ~~~ `mysql`庫很重要它里面有MYSQL的系統信息,我們改密碼和新增用戶,實際上就是用這個庫進行操作。? ### `use`使用數據庫 ~~~ mysql> use dbName; ~~~ ### `describe` `desc`顯示數據表的結構 ~~~ mysql> describe tableName; ~~~ ### `create`建庫、建表 - 建庫 ~~~ mysql> create database dbName; ~~~ - 建表 ~~~ mysql> create database table tableName (字段設定列表); ~~~ ?? ### `drop`刪庫、刪表 - 刪庫 ~~~ mysql> drop database dbName;? ~~~ - 刪表 ~~~ mysql> drop table tableName; ~~~ ? ### 將表中記錄清空 ~~~ mysql> delete from tableName; ~~~ ??? ### `select`顯示表中的記錄: ~~~ mysql> select * from tableName; ~~~ ??? ## sql文件 - `source`:導入sql文件 ~~~bash mysql> source??d:/myprogram/database/db.sql; ~~~ - `mysqldump`:導出sql文件 1. 導出整個數據庫(包括數據庫中的數據) ~~~bash $ mysqldump -u username -ppassword dbname > dbname.sql; ~~~ 2. 導出數據庫中的數據表(包括數據表中的數據) ~~~bash $ mysqldump -u username -ppassword dbname tablename > tablename.sql; ~~~ 3. 導出數據庫結構(不包括數據,只有創建數據表語句) ~~~bashbash $ mysqldump -u username -ppassword -d dbname > dbname.sql; ~~~ 4. 導出數據庫中數據表的表結構(不包括數據,只有創建數據表語句) ~~~ $ mysqldump -u username -ppassword -d dbname tablename > tablename.sql; ~~~ ## `limit`分頁 語句1: ~~~ select * from student limit 9,4 ~~~ 語句2: ~~~ slect * from student limit 4 offset 9 ~~~ 上述語句均返回表student的第10、11、12、13行 , 語句1中,`limit`第一個參數表示從該參數的下一條數據開始,第二個參數表示每次返回的數據條數。 語句2中,`4`表示返回4行,`9`表示從表的第十行開始 例,通過limit和offset 或只通過limit可以實現分頁功能。 假設 pageSize表示每頁要顯示的條數,pageNumber表示頁碼,那么 返回第pageNumber頁,每頁條數為pageSize的sql語句: 語句3: ~~~ select * from studnet limit (pageNumber-1)*pageSize,pageSize ~~~ 語句4: ~~~ select * from student limit pageSize?offset (pageNumber-1)*pageSize ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看