MySQL常用操作

更改root密碼:

    首次進入數據庫是不用密碼的:

    image.png

    退出的話,直接輸入quit或者exit即可。爲了使用方便,我們把mysql加入到系統的環境變量PATH裏面。

    臨時修改:PATH=$PATH:/usr/local/bin/mysql/bin

    永久修改:echo "PATH=$PATH:/usr/local/bin/mysql/bin" >> /etc/profile       修改後記得source /etc/profile 讓配置生效。接下來輸入mysql -uroot 就能進入mysql了。

    這裏解釋一下圖中-u 的含義,它用來指定要登錄的用戶,後邊可以有空格,也可以無空格,root用戶是mysql自帶的管理員賬戶,默認沒有密碼的,那麼如何給root用戶設定密碼?按如下操作:

    image.png

    使用mysqladmin修改密碼後,在使用剛纔的登錄命令就報錯了。

    這是我們應該這樣登錄:(-p加上你的密碼)

    image.png

    如果忘記root密碼應該怎麼重置呢:

        修改mysql配置文件/etc/my.cnf,添加skip-grant

        image.png      

        然後重啓mysql服務 /etc/init.d/mysqld restart

         mysql -uroot

         use mysql;

         update user set password=password('123123') where user='root';

連接MySQL:

    使用密碼連接本機的數據庫:mysql -uroot -p

    使用sock文件連接本機數據庫:mysql -uroot -p123456 -S/tmp/mysql.sock

    命令行執行mysql查詢命令:mysql -uroot -p123456 -e "show databases"

    連接遠程的數據庫:mysql -uroot -p -h192.168.128.28 -P3306    (-h:指定遠程主機IP,-P指定mysql端口)

MySQL常用命令:

  1. 查詢當前的庫:show databases;

  2. 查詢某個庫的表:先切換庫use mysql; 再執行show tables;

  3. 查看某個表的全部字段:desc show_log;    也可以使用show create table show_log\G;  直接查看建表語句

  4. 查看當前是那個用戶:select user();

  5. 查看當前所使用數據庫:select database();

  6. 創建一個新庫:create database db1;

  7. 創建一個新表:切換庫use db1; 建表:create table t1 (`id` int(4),`name` char(40));      要注意的是,字段名需要用反引號括起來 

  8. 查看數據庫當前版本:select version();

  9. 查看當前mysql狀態:show status;

  10. 查看mysql參數:show variables;

  11. 修改mysql的參數:show variables like 'max_connect%';  set global max_connect_errors = 1000;  show variables like 'max_connect_errors';

  12. 查看當前mysql服務器的隊列:show processlist;

  13. 查看隊列:show processlist;    show full processlist;

MySQL用戶管理:

  •     grant all on *.* to 'user1' identified by '123456';

           all 表示所有的權限(讀、寫、查詢、刪除等等操作), *.* 前面的 * 表示所有的數據庫,後面的 * 表示所有的表,identified by 後面跟密碼,用單引號括起來。這裏的user1指的是localhost上的user1

  • grant all on db1.* to 'user2'@'192.168.2.102' identified by '123456'; 

          指定IP的用戶授權,用戶和主機的IP之間有一個@,另外主機IP那裏可以用%替代,表示所有主機.

  •     grant SELECT,UPDATE,INSERT on db1.* to 'user2'@'192.168.133.1' identified by 'passwd';    //授權部分權限

  •     grant all on db1.* to 'user3'@'%' identified by 'passwd';    //所有主機授權

  •     show grants;   //查看授權

  •     show grants for [email protected];  //查看指定用戶的授權

  • 如果用戶的授權ip變了,就要執行show grants for [email protected]; 拿到結果後,複製結果,修改ip執行(這樣就實現了實現添加多個可用ip)

常用sql語句:

  1. 查詢某表有多少列:select count(*) from mysql.user;    (mysql.user表示mysql庫的user表;count(*)表示表中共有多少行)

  2. 查詢表內所有數據:select * from mysql.db;

  3. 查詢表內某些字段:select db,user from mysql.db;

  4. 查詢時使用%模糊匹配:select * from mysql.db where host like '192.168.%';

  5. 插入一行:insert into db1.t1 values (1, 'abc');

  6. 更改表的某一行:update db1.t1 set name='aaa' where id=1;

  7. 清空表數據:truncate table db1.t1;

  8. 刪除表:drop table db1.t1;

  9. 刪除數據庫:drop database db1;

MySQL數據庫備份恢復:

    備份庫  mysqldump -uroot -p123456 mysql > /tmp/mysql.sql

    恢復庫 mysql -uroot -p123456 mysql < /tmp/mysql.sql

    備份表 mysqldump -uroot -p123456 mysql user > /tmp/user.sql

    恢復表 mysql -uroot -p123456 mysql < /tmp/user.sql

    備份所有庫 mysqldump -uroot -p -A >/tmp/123.sql

    只備份表結構 mysqldump -uroot -p123456 -d mysql > /tmp/mysql.sql

    

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