启动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
:m:s->
2:vi /etc/my.cnf,放在配置文件中是永久生效的
[mysql]
prompt u@mysqlnode
: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进行密码修改,然后重启数据库!