linux學習第四十九篇:設置更改mysql的root密碼,連接MySQL,MySQL常用命令

設置更改root密碼

這裏的root是mysql的超級管理員用戶,跟我們的linux系統不是同一個用戶

  • mysql沒有加入PATH環境變量中,只能在目錄下使用,否則使用會出錯:
    /usr/local/mysql/bin/mysql -uroot
    更改環境變量PATH,增加mysql絕對路徑,就不用只能在mysql目錄下使用
    export PATH=$PATH:/usr/local/mysql/bin/
    這裏寫圖片描述

  • 如果想讓更改的這個環境變量永久生效,需要編輯:
    vim /etc/profile
    export PATH=$PATH:/usr/local/mysql/bin/ 放到最後一行
    保存退出後執行 source /etc/profile 使之生效
    這裏寫圖片描述

  • 設置mysql密碼:
    mysqladmin -uroot password ‘123123’

  • 設置密碼後進入mysql就需要-p參數指定密碼:
    mysql -uroot -p’123456’

  • 密碼重置,把密碼123123改爲123456(前提是知道root的密碼):
    mysql -uroot -p’123123’ password ‘123456’

  • 如果不知道root密碼,想要重置密碼,編輯:

    1. vi /etc/my.cnf
      在mysqld增加skip-grant
      skip-grant的意思就是忽略授權,不用用戶名密碼能直接登錄mysql
      這裏寫圖片描述
    2. 修改配置文件後重啓mysql服務
      /etc/init.d/mysqld restart
    3. 進入mysql,這裏就不需要密碼:
      mysql -uroot
    4. 用戶名密碼存在表user表裏,而user表存在mysql這個庫裏,所以先進入mysql,記得加分號:
      use mysql;
    5. 我們可以用查詢語句查root的密碼:
      select password from user where user=’root’;
      不過這裏的密碼是加密的字符串,這個加密的字符串是password這個函數生成的,所以改密碼的時候也需要password函數加密
      這裏寫圖片描述
    6. 修改密碼:
      update user set password=password(‘111111’) where user=’root’;
      這就修改成功了。修改成功後需要再去編輯 vi /etc/my.cnf,把skip-grant去掉,否則所有的用戶都不需要輸入密碼就可以進去,很不安全。改完之後再重啓服務
      這裏寫圖片描述

連接MySQL

  • 輸入用戶名密碼,連接本機:
    mysql -uroot -p123456

  • 遠程連接登錄mysql,A機器連接B服務器的mysql,就需要加上IP和端口:
    mysql -uroot -p123456 -h127.0.0.1 -P3306

  • 我們不止監聽了3306也監聽了sock,我們就可以使用sock登陸,這時候連的就不是TCP/IP,是sock,這個適合本機:
    mysql -uroot -p123456 -S/tmp/mysql.sock

  • 把所有的數據庫列出來,這種情況只出現在shell腳本里:
    mysql -uroot -p111111 -e “show databases”

MySQL常用命令

  • 查詢庫:
    show databases;

  • 切換庫:
    use mysql;

  • 查看庫裏的表:
    show tables;

  • 查看錶裏的字段:
    desc user;

  • 查看建表語句:
    show create table user\G; // \G是豎排顯示

  • 查看當前用戶:
    select user();

  • 查看當前使用的數據庫:
    select database();

  • 創建名爲db1的庫:
    create database db1;

  • 創建表:
    use db1;
    create table t1(`id` int(4), `name` char(40));

  • 刪除表:
    drop table t1;

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

  • 查看數據庫狀態:
    show status;

  • 查看各參數:
    show variables;

  • 查看max_connect%相關的參數:
    show variables like ‘max_connect%’;

  • 修改參數:
    set global max_connect_errors=1000;

  • 查看隊列:
    show processlist;
    show full processlist; //用這一條的話後面的Info會完整

擴展
mysql5.7 root密碼更改 http://www.apelearn.com/bbs/thread-7289-1-1.html
myisam 和innodb引擎對比 http://www.pureweber.com/article/myisam-vs-innodb/
mysql 配置詳解: http://blog.linuxeye.com/379.html
mysql調優: http://www.aminglinux.com/bbs/thread-5758-1-1.html
同學分享的親身mysql調優經歷: http://www.apelearn.com/bbs/thread-11281-1-1.html

發佈了79 篇原創文章 · 獲贊 5 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章