MySQL(root用戶)密碼重置&安裝配置

參考:html

     MySQL(root用戶)密碼重置mysql

     MySQL5.7官方開發手冊linux

     MySQL 5.7 新特性詳解 sql

     Centos 安裝mysql5.7數據庫

     CentOS7 安裝Mysql5.7(解壓縮版)windows

   CentOS6.5安裝與配置Mysql數據庫centos

     http://mysqlserverteam.com/the-mysql-sys-schema-in-mysql-5-7-7/安全

 

分別在Windows下和Linux下重置了MYSQL的root的密碼: 
MySQL5.7新特性多線程

此外還有的新特性:sqlserver

1.perfomence_schema與infomation_schema合併,所以,之後禁止鎖定perfomence_schema對性能的監測。

2.密碼能夠設置過時時間

3.帳號能夠鎖定。

4.多源複製,多線程複製

5.新增對計算列,JSON等支持

 

在windows下

 1:進入cmd,中止mysql服務:

net stop mysql

到mysql的安裝路徑啓動mysql,在bin目錄下使用mysqld.exe啓動,

2:執行以下命令:(窗口會一直中止)

mysqld --skip-grant-tables


3:而後另外打開一個命入令行窗口,執行mysql(或者直接進入Mysql Command Line Cilent),此時無需輸入密碼便可進入。

 >use mysql

 >update user set password=password("新密碼") where user="root";

 >flush privileges;

  >exit

  4:使用任務管理器,找到mysqld-nt的進程,結束進程!

  在從新啓動mysql-nt服務,就能夠用新密碼登陸了。

在linux下

  若是 MySQL 正在運行,首先殺之: killall -TERM mysqld。

  啓動 MySQL :bin/safe_mysqld --skip-grant-tables &

  就能夠不須要密碼就進入 MySQL 了。

  而後就是

 >use mysql

 >update user set password=password("new_pass") where user="root";

 >flush privileges

 >quit

從新殺 MySQL ,用正常方法啓動 MySQL 。

 

Mysql Installer&Linux經常使用配置

 

①windows平臺上經過安裝mysql installer安裝時,須要注意,Connector,Notifier,Commity三個組建可選可不選,建議安裝時不要勾選。

②windows平臺上若是經過mysql installer安裝,須要注意的是mysql須要初始化

假定安裝在D:\mysql\mysql-5.7.13-winx64目錄,那麼咱們須要新建my.ini 在此目錄下,而後輸入以下配置

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
 
[client]
 
default-character-set=utf8
 
[mysqld]
 
port=3306
 
#server_id = 2
 
#skip-locking
 
  
max_connections=100
 
table_open_cache=256
 
query_cache_size=1M
 
  
 
tmp_table_size=32M
 
thread_cache_size=8
 
  
 
innodb_data_home_dir="D:\mysql\mysql-5.7.13-winx64/data/"
 
innodb_flush_log_at_trx_commit =1
 
innodb_log_buffer_size=128M
 
innodb_buffer_pool_size=128M
 
innodb_log_file_size=10M
 
innodb_thread_concurrency=16
 
innodb-autoextend-increment=1000
 
join_buffer_size = 128M
 
sort_buffer_size = 32M
 
read_rnd_buffer_size = 32M
 
max_allowed_packet = 32M
 
explicit_defaults_for_timestamp=true
 
sql-mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER

#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
 
skip-grant-tables  #初次登陸mysql,可能會遇到拒絕訪問問題,所以,使用該配置跳過密碼驗證

③配置環境變量

須要將 D:\mysql\mysql-5.7.13-winx64\bin;加入到系統環境變量path中。

④將mysql註冊爲windows系統服務

cmd命令行進入到D:\mysql\mysql-5.7.13-winx64\bin下,執行以下命令,將服務註冊到系統

mysqld install MySQL --defaults-file="D:\mysql\mysql-5.7.13-winx64\my.ini"

若是配置須要更改,能夠經過以下命令移除註冊信息後從新註冊

mysqld remove

⑤初始化data目錄

mysqld  --initialize

此步驟很是重要,未初始化,可能會致使mysql服務沒法啓動(坑一)

 

⑥.打開系統服務管理
能夠看到mysql系統服務

啓動mysql命令爲: net start mysql

關閉mysql命令爲:net stop mysql

重啓mysql命令爲:net stop mysql & net mysql start

⑦、修改root密碼,防止沒法登陸

(可能遇到的問題Access denied for user 'root'@'localhost' (using password: NO/YES))
命令行執行:

mysql –uroot  #跳過密碼驗證,與skip-grant-tables對應
 
mysql>show databases;
 
mysql>use mysql;
 
mysql> update mysql.user set authentication_string=password('123456') where user='root' and Host = 'localhost';
 
mysql> FLUSH PRIVILEGES;
 
mysql> QUIT

注意:

以下命令是新版本的mysql(5.5+)中修改用戶名的方式

update mysql.user set authentication_string=password('123456') where user='root' and Host = 'localhost';

舊版本命令是

UPDATE user SET Password=PASSWORD('newpassword') where USER='root'

⑧、遠程登錄配置

容許root用戶在任何地方進行遠程登陸,並具備全部庫任何操做權限,具體操做以下:

1)在本機先使用root用戶登陸mysql:

命令行執行:mysql -u root -p

輸入密碼(以前步驟設置的密碼):12345

2)進行受權操做:

>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '12345' WITH GRANT OPTION;

>FLUSH PRIVILEGES;

>quit

注意:本步驟的配置依然是在skip-grant-tables進行的,這樣不是用密碼仍然能夠登陸,可是安全性問題不可避免,所以,咱們有必要去掉skip-grant-tables或者註釋掉skip-grant-tables配置後,在進行本步驟⑧的操做。

當咱們去掉skip-grant-tables配置,咱們在mysql命令行中執行命令,咱們可能遇到以下問題

mysql error You must reset your password using ALTER USER statement before executing this statement.

遇到這種錯誤,解決辦法是

#mysql -h 127.0.0.1 -p 3306 -u root -p 12345 

>SET PASSWORD=PASSWORD('12345');

>ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;

>flush privileges;

注意,上面從第一句開始也可能出錯,問題是因爲MySQL5.7有了密碼強度驗證錯略。

Your password does not satisfy the current policy requirements

解決辦法以下:

找到全部密碼策略,進行修改具體請參考 :mysql5.7設置簡單密碼報錯ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

相關文章
相關標籤/搜索