啟動MySQL
/etc/init.d/mysqld start
優雅的關閉數據庫的方法
1:使用MySQLadmin
mysqladmin -uroot -p123456 shutdown
2:使用自帶的腳本
/etc/init.d/mysqld stop
3:kill信號的方法
kill -USR2 `cat path/pid`
PS:多實例MySQL需要自己寫啟動腳本,實際上就是制定不同配置文件my.cnf文件啟動
啟動: /bin/sh $ {cmdpath}/mysqld_safe --defaults-file=/data/$ {port}/my.cnf 2>&1 > /dev/null &
關閉: ${CmdPaht}/mysqladmin -u${mysql_user} -p${mysql_pwd} -S /data/${port}/mysql.sock shutdown
登陸MySQL,建議使用下面這種方法,避免密碼泄露
mysql -uroot -p
修改MySQL命令提示符
1:此命令修改是臨時生效的
prompt \u@mysqlnode \r:\m:\s->
2:vi /etc/my.cnf,放在配置文件中是永久生效的
[mysql]
prompt \u@mysqlnode \r:\m:\s->
多實例的本地登陸,需要知道sock路徑
mysql -uroot -p -S /data/3306/mysql.sock
mysql -uroot -p -S /data/3307/mysql.sock
PS:多實例的遠程連接無需指定sock路徑
mysql -uroot -p -h 127.0.0.1 -P3306
查看系統/root下的文件
system ls /root
查看用戶的權限
1:查看主機名和用戶
select user,host,passwd from mysql.user;
2:查看某一用戶的權限
help show grants
SHOW GRANTS FOR 'root'@'localhost';
設置及修改MySQL用戶密碼
1:為root設置密碼
2:刪除無用的MySQL庫內的用戶賬戶
3:刪除默認存在的test庫
4:更加安全的措施如下:
a:增加system用戶為管理員,即和root等價的用戶只是名字不同而已
grant all privileges on *.* to system@'localhost' identified by '123456' with grant option;
b:刪除所有的MySQL中的用戶,包括root用戶
delete from mysql.user;
PS:root可以保留,也可以修改為其他用戶
5:root沒有密碼設置密碼的命令
mysqladmin -u root password '123456'
6:修改密碼
mysqladmin -u root -p '123456' password '654321' -S /data/3306/mysql.sock
ps:此次為Linux命令行修改密碼
update mysql.user set password=PASSWORD("789") where user=root and host='localhost';
ps:此方法適合密碼丟失后通過--skip-grant-tables參數啟動數據庫后來修改密碼
7:刷新權限
FLUSH PRIVILEGES;
8:MySQL密碼丟失后找回密碼
a:停止數據庫
/etc/init.d/mysqld stop
b:使用--skip-grant-tables 來啟動數據庫
mysqld_safe --skip-grant-tables --user=mysql &
c:然后不需要密碼進入數據庫,再使用update進行密碼修改,然后重啟數據庫!