mysql-5.7.13-winx64,安装成功后,服务无法启动,一般是由于mysql对应的data文件夹的问题
在根目录增加文件:
my.ini:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\Program Files\mysql-5.7.13-winx64
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
参照my-default.ini
默认的数据位置在 根/data,不要自己设置datadir,让自动生成
使用管理员权限
mysqld -install
mysqld -remove
先初始化:
mysqld -initialize
如果无法启动,删除data目录
重新初始化
net start mysql.
给用户设置登录密码:
登陆问题:
5.7 的密码字段是: MySQL 5.7 版本中,密码字段名称是 authentication_string, 以前的版本是password
使用 :
>mysqld --skip-grant-tables 跳过安全验证,光标会停在该位置。
另开一个窗口,管理员权限
>mysql -u root mysql
mysql> select host, user, authentication_string, password_expired
-> from user;
+-----------+-----------+-------------------------------------------+-----------
-------+
| host | user | authentication_string | password_e
xpired |
+-----------+-----------+-------------------------------------------+-----------
-------+
| localhost | root | *D7C33B8850DD5467EF73A1EBD6C887AF8CB844FA | Y
|
| localhost | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | N
|
+-----------+-----------+-------------------------------------------+-----------
-------+
mysql> update user set authentication_string = password('123456')
-> where user = 'root';
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 1
关闭mysqld的跳过安全认证的界面,关闭该进程,重新启动mysql 服务(net start mysql)
>mysql -u root
mysql> show databases
-> ;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement befo
re executing this statement.
mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+