linux下mysql的常用操作

2021-07-05 03:32:12 字數 3385 閱讀 5360



四.啟動與關閉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.登入

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指令碼

Linux下MySql的登陸和管理常用操作

一 mysql資料庫啟停 1.linux下啟動mysql的命令 mysqladmin start ect init.d mysql start 前面為mysql的安裝路徑 2.linux下重啟mysql的命令 mysqladmin restart ect init.d mysql restart 前...

linux 下的Sqlite和mysql操作

由於最近一些課業的需求需要了解下資料庫的操作,以linux為核心的一些嵌入式的產品中,主流的一些資料庫主要有sqlite和mysql等。資料庫的基本操作語句大同小異,主要包括增 刪 改 查,和一些修飾的查詢語句。下面就主要來說說sqlite資料庫的操作 1 首先安裝資料庫 sudo apt get ...

mysql常用函式封裝 mysql的常用操作的封裝

1 概述 為了把繁瑣的操作簡化成簡單的類,設計了2個類用來封裝了mysql的常用操作,以便使用者可以方便地使用。2 組成 1 資料庫操作類cdatabaseconnect 2 sql物件類csqlstatement 3 類的標頭檔案 include include mysql.h include u...