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 |
+--------------------+