四.啓動與關閉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腳本