退出mysql方法
quit或者exit
设置及修改mysqlroot用户密码
安装mysql后,默认管理员root密码为空,这很不安全,需要设置一个密码,在安装mysql单实例后,有个初始优化的一些安全措施:
- 为root设置了密码
- 删除无用的mysql库内的用户账号。
- 删除默认存在的test数据库
除了以上方法,针对mysql数据库的用户处理,我们还有更严格的做法如下:
-
增加system并提升为超级管理员,即和root等价的用户,只是名字不同。
mysql>grant all privileges on . to [email protected]‘localhost‘ identified by‘123456‘ with grant option;
Query OK, 0 rows affected(0.00 sec) -
删除所有mysql中的用户,包括root超级用户。
mysql>delete from mysql.user;
Query OK, 2 rows affected(0.00 sec)
为管理员root用户设置密码方法
- mysqladmin -u root password ‘123456‘ <---没有密码的用户设置密码命令
-
mysqladmin -u root -p‘123456‘ password ‘dc123456‘ -S /data/3306/mysql.sock <----适合多实例方式
以上的命令是在linux命令行,不是MySQL命令行
修改管理员root密码法一:命令行外修改法
- mysqladmin -u root -p‘123456‘ password ‘dc123456‘
- mysqladmin -u root -p‘123456‘ password ‘dc123456‘ -S /data/3306/mysql.sock <----适合多实例方式
修改管理员root密码法二:sql语句修改法
- mysql>UPDATE mysql.user SET password=PASSWORD("dc123456") WHERE user=‘root‘;
- flush privileges; <----刷新配置文件
提示:此法适合密码丢失后通过--skip-grant-tables参数启动数据库后修改密码。 重要提示:1、必须指定条件2、必须指定password()函数来加密更改密码,否则无效。
修改管理员root密码法三
MySQL安装完毕后,root默认口令为空,需要马上修改root口令:
- mysql>set password=password(‘123456‘);
提示:此法不适合--skip-grant-tables方式修改密码。
修改密码操作后,应该都执行flush privileges;刷新一下。
找回丢失的mysql root用户密码
启动修改丢失的MySQL单实例root密码方法
- 首先停止MySQL
- [[email protected] ~]# /etc/init.d/mysqld stop
- 使用--skip-grant-tables登陆mysql,忽略授权登陆验证。
- [[email protected] ~]# mysqld_safe --skip-grant-tables --user=mysql &
- [[email protected] ~]# mysql <----登陆时空密码
- 使用update修改root的密码,不能使用mysqladmin password修改,因为需要提供原密码。
- mysql>update mysql.user set password=password("dc123456") where user=‘root‘ and host=‘localhost‘; <----修改密码
- flush privileges; <----刷新权限
- mysql>quit
- mysqladmin -uroot -pdc123456 shutdown <----关闭msyql
- /etc/init.d/mysqld start <----必须重启
- mysql -uroot -pdc123456 <-----新密码登陆
提示:在启动时加--skip-grant-tables参数,表示忽略授权表验证。
多实例MySQL启动修改丢失root密码方法
- 关闭MySQL
- 启动时加--skip-grant-tables参数
- mysqld_safe --defaults-file=/data/3306/my.cnf --skip-grant-table &
- mysql -uroot -p -S /data/3306/mysql.sock <----登陆时空密码
- 修改密码方法
- mysql>update mysql.user set password=password("dc123456") where user=‘root‘ and host=‘localhost‘; <----修改密码
- flush privileges; <----刷新权限
- mysql>quit
- [[email protected] ~]# mysqladmin -uroot -pdc123456 shutdown <----关闭msyql
- [[email protected] ~]# /etc/init.d/mysqld start <----必须重启,以正常方式启动。
- [[email protected] ~]# mysql -uroot -pdc123456 <-----新密码登陆
- mysql>update mysql.user set password=password("dc123456") where user=‘root‘ and host=‘localhost‘; <----修改密码