參考文章鏈接:
http://jingyan.baidu.com/article/afd8f4de9006d934e286e9fd.html
http://www.cnblogs.com/wenthink/p/MySQLInstall.html
http://www.cnblogs.com/weiwang/p/5404952.html
http://www.iteye.com/topic/1117270
1.配置文檔:

####################配置文件開始################### # 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 basedir ="D:\mysql-5.7.14-winx64" datadir ="D:\mysql-5.7.14-winx64/data/" tmpdir ="D:\mysql-5.7.14-winx64/data/" socket ="D:\mysql-5.7.14-winx64/data/mysql.sock" log-error="D:\mysql-5.7.14-winx64/data/mysql_error.log" #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-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" skip-grant-tables #sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES ####################配置文件結束###################
2. 添加環境變量
3.啟動服務
net start mysql
MySQL 服務正在啟動 .
MySQL 服務無法啟動。
問題解決
刪除data文件夾里的內容
然后輸入如下命令:
4.登錄Access denied for user 'root'@'localhost' (using password: NO)問題解決
1).在mysql所在的根目錄下找到my-default.ini,復制里面的全部內容,
新建一個txt文檔,把內容復制進去,然后保存名字改為my.ini,注意需要把文件類型也改為ini,方法查看文件類型,然后把txt后綴改為ini,如果不懂可以上網查找。
2).my.ini配置文件,打開配置文件,找到[mysqld]一行,在下面添加skip-grant-tables后保存該文件,重新啟mysql動服務。
-
通過cmd進如到Mysql下的bin目錄下,輸入mysql -u root -p就可以不用密碼登錄了,出現password:的時候直接回車可以進入,不會出現ERROR 1045 (28000),但很多操作都會受限制,因為我們不能grant(沒有權限)。
-
進入mysql數據庫:
mysql> use mysql;Database changed
-
輸入update mysql.user set authentication_string=password('root') where user='root' ;
輸入update mysql.user set authentication_string=password('root') where user='root' ;其中password(’‘)中為你今后的密碼。
重復的原因是因為跟5.7以前的輸入方式不同。
原 因是:新安裝的MySQL5.7,登錄時提示密碼錯誤,安裝的時候並沒有更改密碼,后來通過免密碼登錄的方式更改密碼,輸入update mysql.user set password=password('root') where user='root'時提示ERROR 1054 (42S22): Unknown column 'password' in 'field list',原來是mysql數據庫下已經沒有password這個字段了,password字段改成了authentication_string,所 以如果按照用以前的update mysql.user set password=password('root') where user] ,就會報錯。
-
編輯my.ini文件刪掉skip-grant-tables 這一行,然后重啟MySQL,否則MySQL仍能免密碼登錄。
4.mysql error You must reset your password using ALTER USER statement before executing this statement.或者Your password has expired. To log in you must change it using a client that supports expired passwords.
5、設置編碼問題(原文來自:設置MYSQL數據庫編碼為UTF-8)
一、檢查當前數據庫編碼。
使用語句:
show variables like ‘%character%’;
show variables like’%collation%’;
mysql各個編碼應該如下圖。
二、如果不是以上情況,需要將mysql編碼設置為utf-8。具體步驟如下:
如果安裝mysql時安裝了“MySql Sever Instance Configuration Wizard”,則只需要啟動該程序進行相應設置即可。如下面截圖中所描述,需要將默認編碼設置為utf8
如果沒有該程序,需要手動修改mysql編碼。
1、 編輯MySql的配置文件
MySql的配置文件Windows下一般在系統目錄下或者在MySql的安裝目錄下名字叫my.ini,可以搜索,Linux下一般是 /etc/my.cnf
--在 [mysqld] 標簽下加上以下內容:
default-character-set = utf8
character_set_server = utf8
注意:如果此標簽下已經存在“default-character-set=GBK”類似的內容,只需修改即可。
--在 [mysql] 標簽下加上一行
default-character-set = utf8
--在 [mysql.server]標簽下加上一行
default-character-set = utf8
--在 [mysqld_safe]標簽下加上一行
default-character-set = utf8
--在 [client]標簽下加上一行
default-character-set = utf8
2、 重新啟動MySql服務
Windows可在服務管理器中操作,也可使用命令行:
net stop mysql 回車
net start mysql 回車
服務名可能不一定為mysql,請按自己的設置
Linux下面可是用 service mysql restart
如果出現啟動失敗,請檢查配置文件有沒有設置錯誤
3、 查看設置結果
登錄MySql命令行客戶端:打開命令行
mysql –uroot –p 回車
輸入密碼
進入mysql后 執行 :show variables like "% character %";
顯示結果應該類似如下:
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
如果仍有編碼不是utf8的,請檢查配置文件,也可使用mysql命令設置:
set character_set_client = utf8;
set character_set_server = utf8;
set character_set_connection = utf8;
set character_set_database = utf8;
set character_set_results = utf8;
set collation_connection = utf8_general_ci;
set collation_database = utf8_general_ci;
set collation_server = utf8_general_ci;
另外:
建立數據庫時可以使用以下命令:
create database app_relation character set utf8;
use app_relation;
source app_relation.sql;
修改數據庫編碼的命令為:
alter database app_relation character set utf8;
補充:mysql服務無法啟動還有可能是因為端口被占用問題,此時需要把占用端口的進程禁止掉,再啟動服務。
具體方法可參考http://www.iteye.com/topic/1117270
1.查看所有的端口占用情況
C:\>netstat -ano
2.查看指定端口的占用情況
C:\>netstat -aon|findstr "3306"
3.查看PID對應的進程
C:\>tasklist|findstr "2016"
4.結束該進程
C:\>taskkill /f /t /im tor.exe