MySQL基礎命令操作


1.mysql數據庫啟動、關閉、登錄

1.1單實例數據庫啟動、關閉、登錄

1)

mysql啟動

/etc/init.d/mysqld start

mysqld_safe --user=mysql &                           #兩者啟動實質是一樣的&使用編譯及二進制安裝的mysql,啟動腳本由mysql-xx/support-files/mysql.server復制而來

確認mysql端口

ss -lnt|grep 3306

查看mysql進程

ps -ef|grep mysql|grep -v grep

2)關閉數據庫

/etc/init.d/mysqld stop

mysqladmin -uroot -poldboy shutdown             #比較溫和的關閉方法

也可以強制關閉數據庫

killall mysqld

pkill mysqld

killall -9 mysqld

3)登錄

mysql

mysql -uroot

mysql -uroot -p                                                 #可以修改Mysql登錄后的提示符:prompt \u@wk \r:\m:\s->      (臨時生效,若想永久生效,放在my.cnf的【mysql】下)

退出mysql數據庫

quit或\q

Ctrl+C或Ctrl+D

1.2多實例數據庫啟動、關閉、登錄                 #以3306實例為例

1)啟動

/data/3306/mysql start

mysqld_safe --defaults-file=/data/3306/my.cnf 2>&1 > /dev/null &

2)關閉

/data/3306/mysql stop

mysqladmin -uroot -poldboy123 -S /data/3306/mysql.sock shutdown    

3)登錄

mysql -uroot -p -S /data/3306/mysql.sock

mysql -u root -p -h localhost -P 3306                #理論上可以通過不指定sock路徑的方式登錄

2.幫助命令--help

如:help grants

可以在mysql中查看系統文件:如 system ls /tmp

查看某數據庫用戶的權限:show grants for 'root'@'localhost';

3.為管理員root用戶設置/修改密碼

mysqladmin -u root password 'oldboy123'                                  #單實例

mysqladmin -u root -p 'oldboy123' -S /data/3306/mysql.sock     #多實例

mysqladmin -uroot -poldboy123 password '123'                         #在單實例已有密碼的基礎上修改密碼,推薦使用!

update mysql.user set password=password(456) where user='root' and host='localhost';              #登錄mysql后執行,完成后如需要flush privileges

set password=password('oldboy123');                                        #登錄mysql后執行

>>>mysql密碼丟失找回方法(單實例)

1)停止mysql:/etc/init.d/mysqld stop

2)忽略授權表:mysqld_safe --skip-grant-tables --user=mysql &

3)update mysql.user set password=password(456) where user='root' and host='localhost';

  flush privileges;

4)重啟:mysqladmin -uroot -p456 shutdown

  /etc/init.d/mysqld start

>>>mysql密碼丟失找回方法(多實例)

1)關閉mysql:killall mysqld

2)忽略授權表

mysqld_safe  --defaults_file=/data/3306/my.cnf   --skip-grant-tables &

mysql -u root -p -S /data/3306/mysql.sock                                    #登錄時空密碼

3)update mysql.user set password=password(“oldboy123”) where user='root'; 

      flush privileges;

4)重啟:mysqladmin -uroot -poldboy123 -S /data/3306/mysql.sock shutdown

     mysqld_safe --defaults-file=/data/3306/my.cnf 

4.創建、顯示、刪除&連接數據庫

4.1)創建數據庫

create database oldboy;

show create database oldboy\G                                                     #默認的字符集為Latin1,若my.cnf中制定了字符集則創建的數據庫為該配置文件中的字符集模式,無需再指定~

create database oldboy_gbk DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;     #可以指定使用特定的字符集創建數據庫

4.2)企業中創建數據庫選擇方法

1)根據開發的程序確定字符集(建議UTF8)

2)編譯時在my.cnf中指定字符集,建庫時默認創建即可

3)編譯的時候指定了與程序不同的字符集,則需要在創建數據庫時指定所需的字符集

4.3)顯示數據庫

show databases like '%old%';

use oldboy;       

select database();                                                     #顯示當前數據庫

4.4)刪除數據庫

drop database oldboy_gbk;

4.5)連接數據庫

use oldboy;

select version();                                                        #查看數據庫版本

select user();                                                            #查看數據庫用戶

select now();                                                            #查看當前時間

show tables;                                                            #進入某庫查看所有表

5.刪除系統多余賬號

select user.host from mysql.user;

drop user "user"@"主機”;                                     #若刪除不了,則用delete的方式刪 delete from mysql.user where user=' ' and host=' ';  flush privileges;

6.創建mysql用戶及賦權

對用戶的授權采用最小化原則(如,只給insert,delete,update,select,create,drop權限,等部署好后回收create,drop權限,主從庫授權可能不同)

help grant

CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'mypass';    #默認為USAGE權限
GRANT ALL ON db1.* TO 'jeffrey'@'localhost';                            #可以寫為GRANT all privileges ON db1.* TO 'jeffrey'@'localhost' IDENTIFIED BY 'mypass';
GRANT SELECT ON db2.invoice TO 'jeffrey'@'localhost';
GRANT USAGE ON *.* TO 'jeffrey'@'localhost' WITH MAX_QUERIES_PER_HOUR 90;

 查看ALL PRIVILEGES包括哪些  

1)通過踢除一個權限從而看到其他所有權限

#篩選語句mysql -uroot -poldboy123 -S /data/3306/mysql.sock -e "show grants for jeffrey@localhost;"|grep -i grant|tail -1|tr ',' '\n' >all.txt

2)也可在庫中通過查詢user表查詢權限

use mysql

show tables;

desc user\G; 

。。。

 

2018年10月28日

祝好!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM