Q1: root密碼登陸不了或忘記root密碼html
Answer: 在mysql配置文件(my.cnf / base.cnf)中[mysqld]下添加一行 skip_grant_tables,而後重啓mysql,root用戶便可無密碼登陸,而後設置新密碼(詳見Q2/Q3),再刪除skip_grant_tables並重啓mysql。mysql
***********************************************************************
## v1.0 root@karl-v1:/srv/leyao/main# cat conf.d/base.cnf [mysqld] init_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8' character-set-server=utf8 collation-server=utf8_unicode_ci query_cache_size = 64M query_cache_type = 1 join_buffer_size = 512K max_connections = 150 max_allowed_packet = 32M skip_grant_tables root@karl-v1:/srv/leyao/main#
************************************************************************* # v2.0 karl-v2 docker # cat mysql/my.cnf # The MySQL Client configuration file. # # For explanations see # http://dev.mysql.com/doc/mysql/en/server-system-variables.html [mysql] [mysqld] sql-mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" character-set-server=utf8 max_allowed_packet=1048576 skip_grant_tables karl-v2 docker #
Q2: 設置/修改root密碼(v1.0)sql
use mysql; update user set password=password("new_pwd") where user='root'; flush privileges;
Q3: 設置/修改root密碼(v2.0)docker
use mysql; alter user 'root'@'%' identified by 'new_pwd'; flush privileges;