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