垃圾百度,搜来搜去几乎全是雷同。装半天总是在错误的迷宫中循环。。。
错误提示1:mysql5.7 Host '::1' is not allowed to connect to this MySQL server
错误提示2:ERROR 1045 (28000): Access denied for user 'root'@'::1' (using password: YES)
错误提示3:You must reset your password using ALTER USER statement before executing this statement.
错误提示4....
言归正传:
解压后,可以按照网上的那些去设置环境变量,安装为服务啥的。。。这不是关键。
编写my.ini文件如:
[mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] skip-name-resolve #skip-grant-tables #设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=D:\app\mysql-5.7.34-winx64 # 设置mysql数据库的数据的存放目录 datadir=D:\app\mysql-5.7.34-winx64\data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB
建立data文件夹,执行一下初始化命令,得到root@localhost的密码
mysqld --initialize --console
将my.ini的#skip-grant-tables的#删除,重启服务
打开命令行
mysql -uroot -p
按回车进入mysql
使用mysql数据库
mysql> use mysql; Database changed
查看表
mysql> show tables; +---------------------------+ | Tables_in_mysql | +---------------------------+ | columns_priv | | db | | engine_cost | | event | | func | | general_log | | gtid_executed | | help_category | | help_keyword | | help_relation | | help_topic | | innodb_index_stats | | innodb_table_stats | | ndb_binlog_index | | plugin | | proc | | procs_priv | | proxies_priv | | server_cost | | servers | | slave_master_info | | slave_relay_log_info | | slave_worker_info | | slow_log | | tables_priv | | time_zone | | time_zone_leap_second | | time_zone_name | | time_zone_transition | | time_zone_transition_type | | user | +---------------------------+ 31 rows in set (0.00 sec)
select user
mysql> select host,user from user; +-----------+---------------+ | host | user | +-----------+---------------+ | localhost | mysql.session | | localhost | mysql.sys | | localhost | root | +-----------+---------------+ 3 rows in set (0.00 sec)
修改root的客户端主机
mysql> update user set host='%' where user='root'; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0
查看修改结果
mysql> select host,user from user; +-----------+---------------+ | host | user | +-----------+---------------+ | % | root | | localhost | mysql.session | | localhost | mysql.sys | +-----------+---------------+ 3 rows in set (0.00 sec)
刷新一下
mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
退出。
注释掉my.ini的skip-grant-tables重启服务,再用命令行进入mysql
修改root密码
SET PASSWORD = PASSWORD('123456');
flush privileges;
增加一个mysql用户并进行权限设置
mysql> grant all on *.* to mysql@'localhost' identified by '123456'; Query OK, 0 rows affected, 2 warnings (0.00 sec)