1. 程式人生 > >Windows Server 2012 R2安裝MySQL 5.7

Windows Server 2012 R2安裝MySQL 5.7

  1. 在官網下載最新版(5.7)的mysql資料庫,32位的有直接安裝的版本,然而64位的只有一個ZIP Archive
  2. 下載好後,將其解壓,我直接裝C盤,所以接下來都是以C盤為安裝目錄,如果安在別的盤,要自己更改相應的目錄.
  3. my-default.ini這個配置檔案複製一份,命名為my.ini,嘗試了許多種檔案內容之後,用以下的檔案內容可以成功安裝.mysql的資料夾中是沒有data這個資料夾的,後續會提到.
 # *** 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 port=3306 [mysqld] port=3306 character_set_server=utf8 basedir ="C:\Program Files (x86)\mysql-5.7.14-winx64" datadir ="C:\Program Files (x86)\mysql-5.7.14-winx64/data/"
tmpdir ="C:\Program Files (x86)\mysql-5.7.14-winx64/data/" socket ="C:\Program Files (x86)\mysql-5.7.14-winx64/data/mysql.sock" log-error="C:\Program Files (x86)\mysql-5.7.14-winx64/data/mysql_error.log" character_set_server=utf8 #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="C:\Program Files (x86)\mysql-5.7.14-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_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES`
  1. 接下來新增環境變數,將 解壓下來的檔案中的bin資料夾設定成為環境變數,我的是C:\Program Files (x86)\mysql-5.7.14-winx64\bin
  2. 接下來是重點,到DOS進入到mysql的bin資料夾中!!輸入以下命令
        1. mysqld --console

        2. mysqld  --initialize

        3. mysqld install 

可能會有各種各樣的問題,自己看看問題原因再谷歌找找解決辦法.到這裡基本就安裝完了.

6 . 接下來是修改root密碼.這裡可能會有一些亂七八糟的問題.
1. 到配置檔案中,即之前的my.ini中, 在[mysqld]下新增一行skip-grant-tables這個引數顧名思義,忽略授權表,再忘記root密碼的時候,這是個很有用的引數.
2. 啟動MySQL, 在DOS中輸入 mysql -uroot -pu就是user,p自然就是password,記得u和p與後面的使用者名稱密碼間不要有空格.這裡回車後,會讓你輸入一個密碼,隨便輸入一個你的密碼就可以.
3. mysql> update mysql.user set authentication_string=password('123qaz') where user='root' and Host = 'localhost';括號中是自己的密碼.記得結尾有個分號.
4. mysql> flush privileges;
5. mysql> quit;
6. 回到配置檔案中,刪除skip-grant-tables這一行,儲存重啟mysql即可.
7. 之後修改密碼,使用mysql>SET PASSWORD = PASSWORD('123456');

遠端登入配置

  1. 先使用mysql -uroot -p 登入資料庫
  2. 進行授權操作 :mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
  3. 過載授權表: mysql>FLUSH PRIVILEGES;

    Access denied for user \’root\’@\’localhost\’”解決方法

  4. 解決辦法就是重置一個新的密碼

  5. 先停止mysql的執行.
  6. 建立一個文字文件,內容為SET PASSWORD FOR 'root'@'localhost' = PASSWORD('Password');括號內填寫新的密碼,檔名任意,自己知道就好.儲存在C盤.C:\pw.txt
  7. 到MySQL目錄的bin資料夾內執行mysqldC:>C:\Program Files (x86)\mysql-5.7.14-winx64\bin\mysqld -nt --init-file=C:\pw.txt.這樣,mysql啟動的時候,就會執行pw.txt中的語句,它將重置root密碼.如果卡死在這裡,直接ctrl+c結束任務,再來一次即可.記得成功啟動後刪除pw.txt檔案
  8. 再按照普通的方法啟動即可.