一.用户管理
1.给mysql用户设密码以及删除用户
1.给mysql的root用户设置密码
[root@db02 scripts]# mysqladmin -uroot -p password '123'
2.连接mysql
[root@db01 ~]# mysql -uroot -p123
3.查看MySQL中所有用户
mysql> select user,host from mysql.user;
4.删除用户
mysql> drop user root@'db01';
mysql> drop user root@'::1';
mysql> drop user ''@'db01';
mysql> drop user ''@'localhost';
mysql> drop user root@'localhost';
mysql> drop user root@'127.0.0.1';
2.误删用户恢复办法
方法一:
1.停止数据库
[root@db02 ~]# /etc/init.d/mysqld stop
2.跳过授权表,和网络启动数据库
[root@db02 ~]# mysqld_safe --skip-grant-tables --skip-networking &
3.连接数据库
[root@db02 ~]# mysql
4.插入新的root用户
insert into mysql.user values ('localhost','root',PASSWORD('123'),
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'Y',
'',
'',
'',
'',0,0,0,0,'mysql_native_password','','N');
5.重启mysql
[root@db01 ~]# mysqladmin shutdown
[root@db01 ~]# /etc/init.d/mysqld start
Starting MySQL. SUCCESS!
方法二:
1.停止数据库
[root@db02 ~]# /etc/init.d/mysqld stop
2.跳过授权表和网络
[root@db02 ~]# mysqld_safe --skip-grant-tables --skip-networking &
3.连接用户,刷新授权表
[root@db02 ~]# mysql
mysql> flush privileges;
4.创建超级用户
mysql> grant all on *.* to root@'localhost' identified by '123' with grant option;
5.重启mysql
[root@db01 ~]# mysqladmin -uroot -p123 shutdown;
[root@db01 ~]# /etc/init.d/mysqld start
方法三:前提是数据库中没数据
1.停止数据库
[root@db02 ~]# /etc/init.d/mysqld stop
2.删除data目录下的数据
[root@db02 ~]# rm -rf /application/mysql/data/
3.初始化环境
[root@db02 ~]#./mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data
4.启动mysql
[root@db02 scripts]# /etc/init.d/mysqld start