情况一,无密码
- 实操环境mysql5.6 + centos7.2
- 跳过授权表启动MySQL服务
# vim /etc/my.cnf
[mysqld]
skip_grant_tables
# /etc/init.d/mysqld restart
- 查看mysql.user是否有root用户
# mysql
mysql> select user,host,password from mysql.user;
mysql> select user,host,password from mysql.user;
+------+------+-------------------------------------------+
| user | host | password |
+------+------+-------------------------------------------+
| root | % | *3BABF054BDCD47981D356DBFC490922DE4EDDD2A |
+------+------+-------------------------------------------+
1 row in set (0.00 sec)
- user用户表没有root用户
mysql> use mysql
mysql> INSERT INTO user (Host,User,Password) VALUES( 'localhost', 'root',password( '123456'));
mysql> update user set Host='localhost',select_priv='y', insert_priv='y',update_priv='y',Alter_priv='y',delete_priv='y',create_priv='y',drop_priv='y',reload_priv='y',shutdown_priv='y',Process_priv='y',file_priv='y',grant_priv='y',References_priv='y',index_priv='y',create_user_priv='y',show_db_priv='y',super_priv='y',create_tmp_table_priv='y',Lock_tables_priv='y',execute_priv='y',repl_slave_priv='y',repl_client_priv='y',create_view_priv='y',show_view_priv='y',create_routine_priv='y',alter_routine_priv='y',create_user_priv='y' where user='root';commit;
mysql> flush privileges;
- user用户表有root用户
> use mysql;
> update user set authentication_string=password('123456') WHERE user="root" AND Host='localhost';
> flush privileges;
- 注释skip_grant_tables,重启mysql服务
# vim /etc/my.cnf
[mysqld]
##skip_grant_tables
# /etc/init.d/mysqld restart
情况二,有密码
# mysqladmin -uroot -p123456 password new123456
相关文章
暂无评论...