MySQL的基礎命令<一>

來源:互聯網
上載者:User

標籤:mysql基礎學習

MySQL常用基礎操作命令(5.5)一、MySQL的啟動與關閉1、MySQL的啟動與停止的實質

  啟動的實質:mysqld_salf --default-file=/data/3306/my.cnf

  停止的實質:mysqladmin uroot -p"密碼" -s /date/3306/mysql.sock shutdown

二、MySQL的密碼有關問題

1、單一實例MySQL的啟動 

[[email protected] mysql-5.1.72]# cp support-files/mysql.server /etc/init.d/mysqld[[email protected] mysql-5.1.72]# chmod 700 /etc/init.d/mysqld[[email protected] mysql-5.1.72]# /etc/init.d/mysqld restart

2、多執行個體MySQL的啟動

   預設sock檔案在編譯過程中可以指定路徑,如果多執行個體安裝的MySQL啟動時要指定sock檔案,因為他不知道你初始化資料庫時,你的sock檔案路徑。

   一般啟動:

[[email protected] ~]# /data/3306/mysql start   #mysql的登入使用的是一個指令碼,在文章的上傳附件中。               Starting MySQL...[[email protected] ~]# netstat -lnt |grep 3306tcp     0    0 0.0.0.0:3306      .0.0.0:*       LISTEN

3、為MySQL增加登入密碼

   單一實例和多是例增加密碼的方式一樣,只是多執行個體修改和登入要指定MySQL的sock檔案路徑

  3.1 多執行個體MySQL增加密碼

[[email protected] bin]# mysqladmin -uroot -S /data/3306/mysql.sock password ‘fenghui‘ [[email protected] bin]# mysql -S /data/3306/mysql.sock  ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO)#這時你不能不使用密碼登入,使用下面的登入,但是不建議使用此種方式,因為會暴露密碼#mysql -S /data/3306/mysql.sock -uroot -p斷行符號,然後輸入密碼[[email protected] bin]# mysql -S /data/3306/mysql.sock -uroot -p‘fenghui‘Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 8Server version: 5.5.32-log Source distributionCopyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.

 4、為MySQL使用者修改密碼

 4.1 用SQL語句修改MySQL的密碼

mysql> show databases;+--------------------+| Database     |+--------------------+| information_schema|| mysql       || performance_schema|| test       |+--------------------+4 rows in set (0.05 sec)mysql> use mysqlDatabase changedmysql> select * from mysql.user\G;#這裡的列表太長,這裡就不列出了。#修改本地root的登入密碼。mysql> update mysql.user set password=password(12345) where user=‘root‘ and  host=‘localhost‘;Query OK, 0 rows affected (0.00 sec)Rows matched: 1  Changed: 0  Warnings: 0#這裡注意在SQL語句中修改完密碼,要重啟MySQL服務

 4.2 在Linux系統中使用mysqladmin修改密碼

[[email protected] ~]# mysqladmin  -uroot -pfenghui password ‘1234‘ -S /data/3306/mysql.sock#這裡不需要重啟MySQL服務

  注意:這是多執行個體的修改方法,如果是單一實例只需要去掉-S /data/3306/mysql.sock 

5、找回MySQL的登入密碼

5.1 單一實例找回密碼

[[email protected] ~]# /data/3306/mysql stopStoping MySQL...#停止完成之後需要指定--skip-grant-tables 參數啟動,他是忽略授權表登入[[email protected] ~]# /application/mysql/bin/mysqld_safe  --skip-grant-tables --user=mysql &[[email protected] ~]# mysql -uroot -p   #斷行符號,他會提示你輸入密碼,你只需要斷行符號就會進入資料庫#登入mysql使用前面的update更改root本地登入的密碼,重啟mysql服務就完成了。

mariadb 資料庫使用 mysql_safe --skip-grant-tables & 啟動資料庫,也是使用updata修改密碼。

5.2 多執行個體找回密碼

    只有啟動時和單一實例MySQL不一樣,其他都一樣,多執行個體MySQL的啟動:

[[email protected] ~]# /application/mysql/bin/mysqld_safe --defaults-file=/data/3307/my.cnf --skip-grant-tables &[1] 7787[[email protected] ~]# 170808 13:34:40 mysqld_safe Logging to ‘/data/3307/mysql_oldboy3307.err‘.170808 13:34:40 mysqld_safe Starting mysqld daemon with databases from /data/3307/data[[email protected] ~]# mysql -uroot -p -S /data/3307/mysql.sock #登入之後,用updata修改本地root的登入密碼,重新啟動。

三、SQL語句的定義和分類

1、什麼是SQL?

    SQL英文全稱Structured Query Language,中文意思結構化查詢語言 (SQL),他是一中對關係型資料庫的資料進行定義和操作的語言方法。SQL是一種資料庫查詢和程式設計語言。

2、SQL的分類

DQC(Date Query Language) 資料查詢語言 資料檢索語句,關鍵字常見的有 SELECT

DML(Data Manipulation 

Language)

資料操縱語言 關鍵字,INSERT、UPDATA、DELETE等
TPL (不常用) 事物處理語言 他的語句確保DML語句影響的表能及時更新
DCL(Data Control Language) 資料控制語言 關鍵字GRANT、REVOKE

DDL (Data definition

Language) 

資料定義語言 (Data Definition Language) 關鍵字CREATE、DROP
CCL(Cursor Control Language) 指標控制語言 UPDATA WHERE CURRENT 用於一個或多個表

  我們常用的SQL分類

SQL分類: DDL—資料定義語言 (Data Definition Language)(CREATE,ALTER,DROP,DECLARE) DML—資料操縱語言(SELECT,DELETE,UPDATE,INSERT) DCL—資料控制語言(GRANT,REVOKE,COMMIT,ROLLBACK)

四、MySQL資料庫常見的管理和應用

1、資料庫的建立查看刪除和串連   

1.1建立命令文法   

  CREATE database <名稱>;  

mysql> CREATE DATABASE feitian;Query OK, 1 row affected (0.03 sec)mysql> SHOW DATABASES ;                  +--------------------+| Database           |+--------------------+| information_schema || feitian            || mysql              || performance_schema || test               |+--------------------+5 rows in set (0.00 sec)

1.2 建立一個GBK字元集的資料庫     

mysql> CREATE DATABASE GBK DEFAULT CHARACTER  SET GBK COLLATE gbk_chinese_ci;Query OK, 1 row affected (0.00 sec)

1.3 建立一個utf-8字元集的資料庫   

mysql> CREATE DATABASE UTF DEFAULT CHARACTER  SET utf8  COLLATE utf8_general_ci;Query OK, 1 row affected (0.00 sec)#資料庫的名字叫UTF

1.4 顯示資料庫

mysql> CREATE DATABASE UTF DEFAULT CHARACTER  SET utf8  COLLATE utf8_general_ci;Query OK, 1 row affected (0.00 sec)mysql> SHOW DATABASES;+--------------------+| Database           |+--------------------+| information_schema || feitian            || gbk                || mysql              || performance_schema || test               || utf                |+--------------------+7 rows in set (0.00 sec)mysql> USE gbk;Database changed#查看當前所在的表,相當於linux中的pwd.mysql> SELECT DATABASE();+------------+| DATABASE() |+------------+| gbk        |+------------+1 row in set (0.00 sec)#查看當前登入的使用者mysql> select user();+----------------+| user()         |+----------------+| [email protected] |+----------------+1 row in set (0.00 sec)#查看目前時間mysql> select now();+---------------------+| now()       |+---------------------+|2017-08-08 14:21:10 |+---------------------+1 row in set (0.00 sec)#查看資料庫名稱中含有e的。mysql> SHOW DATABASES LIKE ‘%e%‘;+--------------------+| Database (%e%)  |+--------------------+| information_schema|| feitian      || performance_schema|| test       |+--------------------+4 rows in set (0.00 sec)

1.5刪除資料庫 

mysql> DROP DATABASE GBK;Query OK, 0 rows affected (0.06 sec)#刪除名字為GBK的資料庫

1.6串連資料庫

mysql> use mysql;Database changedmysql> SELECT DATABASE();+------------+| DATABASE() |+------------+| mysql      |+------------+1 row in set (0.00 sec)

2、資料庫中使用者的建立和刪除和授權

2.1 刪除使用者

mysql> select user,host from mysql.user; +------+-----------+| user | host      |+------+-----------+| root | 127.0.0.1 || root | ::1       ||      | localhost || root | localhost ||      | loveyu    || root | loveyu    |+------+-----------+6 rows in set (0.00 sec)mysql> drop  user ‘root‘@‘loveyu‘;Query OK, 0 rows affected (0.00 sec)

注意:如果含有大寫字母的名稱用drop刪除不了可以使用下面的命令

delet from mysql.user where user=‘LALA‘ and hoset=‘localhost‘

2.2 建立使用者和對使用者授權和查看使用者的許可權

2.2.1 建立使用者和授權一步完成

mysql> GRANT ALL ON mysql.* TO ‘feitian‘@localhost IDENTIFIED BY ‘1234‘;Query OK, 0 rows affected (0.00 sec)#建立一個使用者feitian只能在本地登入,密碼是1234,對mysql庫中的表有所有權利

2.2.2 先建立使用者在授權

mysql> CREATE USER ‘lala‘@‘172.25.254.231‘  IDENTIFIED  BY ‘1234‘;Query OK, 0 rows affected (0.00 sec)#建立用使用者,只能在172.25.254.231這台主機登入,密碼是1234.mysql> GRANT ALL ON *.*  TO ‘lala‘@‘172.25.254.231‘;Query OK, 0 rows affected (0.00 sec)給lala這個使用者所有許可權操作整個資料庫。

2.3查看使用者的授權

mysql> show grants for ‘lala‘@‘172.25.254.231‘;+---------------------------------------------------------------------------------------------------------------------------+| Grants for [email protected]                                                                                            |+---------------------------------------------------------------------------------------------------------------------------+| GRANT ALL PRIVILEGES ON *.* TO ‘lala‘@‘172.25.254.231‘ IDENTIFIED BY PASSWORD ‘*A4B6157319038724E3560894F7F932C8886EBFCF‘ |+---------------------------------------------------------------------------------------------------------------------------+1 row in set (0.00 sec)

使用者可授權的所有許可權:

mysql> REVOKE DELETE ON *.* from ‘lala‘@‘172.25.254.231‘;Query OK, 0 rows affected (0.00 sec)#收回一個刪除的權利,在次查看改使用者的權利,就得到所有權利mysql> show grants for ‘lala‘@‘172.25.254.231‘\G;*************************** 1. row ***************************Grants for [email protected]: GRANT SELECT, INSERT, UPDATE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE ON *.* TO ‘lala‘@‘172.25.254.231‘ IDENTIFIED BY PASSWORD ‘*A4B6157319038724E3560894F7F932C8886EBFCF‘1 row in set (0.00 sec)


本文出自 “13122323” 部落格,請務必保留此出處http://13132323.blog.51cto.com/13122323/1955805

MySQL的基礎命令<一>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.