linux下mysql的常用操作



四.啓動與關閉mysql

/etc/init.d/mysql start/stop

或者

service mysql start/stop/restart

 

mysql安裝完成默認就是會隨系統啓動的,可以使用如下命令查看mysql的運行級別:

chkconfig --list mysql

修改mysql的運行級別爲35啓動:

chkconfig --level 35 mysql on 

 

五.登錄mysql

第一次登錄使用root的默認密碼,安裝完成後默認root密碼保存在當前root用戶的home/.mysql_secret中

mysql -u root -p

 

登錄成功夠必須先修改密碼,如下:

mysql>SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd');

 

六.開放訪問權限

登錄後分別執行如下命令,開放root的遠程登錄權限,需要在iptables中開放3306端口

mysql>grant all PRIVILEGES on *.* to root@'%' identified by 'newpwd'; 

mysql>grant all PRIVILEGES on *.* to root@'localhost' identified by 'newpwd';

mysql>flush privileges;

 

七.創建新的數據庫

mysql>create database newdbtest;

mysql>use newdbtest;(打開庫)

 

八.創建新的用戶並授權

mysql> grant all PRIVILEGES on newdbtest.* to newdbuser@'%' identified by '123456'; 

 

九.取消root遠程登錄權限

mysql>revoke all PRIVILEGES on *.* from root@'%' identified by 'newpwd';

 

 十.備份與恢復

備份newdbtest :mysqldump -p --opt newdbtest > back_newdbtest

Enter password: root密碼

 

恢復newdbtest :mysql -u root -p newdbtest  < back_newdbtest

Enter password: root密碼

 

十一.取消大小寫區分

Linux下mysql安裝完後是默認:區分表名的大小寫,不區分列名的大小寫;

用root帳號登錄後,在/etc/my.cnf中的[mysqld]後添加lower_case_table_names=1,重啓MYSQL服務,這時已設置成功:不區分表名的大小寫;
lower_case_table_names參數詳解:
lower_case_table_names=0
其中0:區分大小寫,1:不區分大小寫

MySQL在Linux下數據庫名、表名、列名、別名大小寫規則是這樣的:
1、數據庫名與表名是嚴格區分大小寫的;
2、表的別名是嚴格區分大小寫的;
3、列名與列的別名在所有的情況下均是忽略大小寫的;
4、變量名也是嚴格區分大小寫的;
MySQL在Windows下都不區分大小寫。

 

十二.開啓慢查詢和bin-log日誌

在/etc/my.cnf中的[mysqld]後添加如下內容:

long_query_time=2 #慢查詢記錄超過的時間,這裏只2秒

slow-query-log=1 #開啓慢查詢日誌

log_queries_not_using_indexes=1 #記錄下沒有使用索引的查詢語句

log_bin=mysql-bin #開啓bin-log日誌

 

注:5.6以後的版本與之前的版本配置參數上略有不同,可以使用如下命令查看支持的參數列表:

mysqld --verbose --help

 

可以使用mysqldumpslow命令查看慢查詢日誌信息:

mysqldumpslow -s c -t 20 host-slow.log

mysqldumpslow -s r -t 20 host-slow.log

上述命令可以看出訪問次數最多的20個sql語句和返回記錄集最多的20個sql。

 

mysqldumpslow -t 10 -s t -g “left join” host-slow.log這個是按照時間返回前10條裏面含有左連接的sql語句。

 

 

十三.意外被鎖

由於某種原因導致mysql意外停止,比如直接殺掉了myslq的進程,這樣會導致mysql被鎖:

[root@localhost ~]# service mysql status

MySQL is not running, but lock file (/var/lock/subsys/mysql) exists[失敗]

 

解決方法是,刪除/var/lock/subsys/mysql文件即可。

 

常用mysql命令:

1.登錄

mysql -u用戶名 -p密碼 -h服務器IP地址 數據庫 :登錄並打開指定數據庫,但這樣做的缺點是密碼要明文輸入。

2.登錄後命令

mysql> status;       查看數據庫狀態

mysql> select version();        查看MySQL的版本號

mysql> select current_date();        查看MySQL的當前日期

mysql> select version(),current_date(); 同時查看MySQL的版本號和當前日期

mysql> show databases;            顯示當前存在的數據庫

mysql> use mysql            選擇使用數據庫(USE和QUIT命令不需要分號結束)

mysql> select database();        顯示當前選擇的數據庫

mysql> show tables;            顯示當前數據庫中存在的表

mysql> select * from db;        顯示錶(db)的內容    

mysql> describe[desc] mytable;        顯示錶的結構

或show columns from 表名;

mysql> select user,host,password from mysql.user;  查詢用戶信息

mysql> source mysql.sql;   執行sql腳本

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