一、安裝過程
MySQL 版本:5.7.18
1 、配置my.ini文件(簡單的配置),放到MySQL的根目錄下,此處的文件路徑配置需要為絕對路徑(使用反斜杠需要雙拼,斜杠一個就可以了)(data文件夾不用自己創建,后面生成)
[client]default-character-set=utf8[mysqld]port=3306character_set_server=utf8basedir="D://mysql-5.7.18-winx64"datadir="D://mysql-5.7.18-winx64//data"# 服務端使用的字符集默認為8比特編碼的latin1字符集character-set-server=utf8# 創建新表時將使用的默認存儲引擎default-storage-engine=INNODB[WinMySQLAdmin]D://mysql-5.7.18-winx64//bin//mysqld.exe
2 配置環境變量,在Path中配置bin目錄
3 初始化數據庫,生成data文件夾以及其中的一些配置文件(初始化后會生成root賬戶的默認密碼:在xx.err文件中)
mysqld -initialize# err文件示例:[Note] A temporary password is generated for root@localhost: w1BI/g/y.wfx
4 注冊服務
mysqld -install
5 啟動MySQL
net start mysql
6 啟動后登錄,填入生成的默認密碼
mysql -uroot -p
7 修改賬戶的密碼
set password for root@localhost=password('root');
8 停止MySQL服務
net stop mysql
9 若想刪除MySQL服務,可以是有下面命令刪除
mysqld -remove
二、安裝后問題
ONLY_FULL_GROUP_BY 問題
使用后有時會報錯:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'col_user_6.a.START_TIME' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
原因:MySQL 默認開啟了only_full_group_by模式,這個只能獲取受到group by影響的字段信息,不能與其它沒有受到group by影響的字段共存,或者是只能將group by的字段放到select關鍵字的首位,這個是有局限的
解決方案:
1)直接sql解決:這個解決方案有點局限性,就是數據庫重啟的時候還是會默認啟動only_full_group_by模式
2)永久性解決:在my.ini文件[mysqld]下,添加以下條件,這樣在MySQL啟動的時候將only_full_group_by模式過濾掉了
三 控制腳本
最后寫一個控制腳本,這樣就可以在自己使用MySQL的時候頻繁的使用命令操作了
cls @echo off:設置窗口字體顏色color 0a :設置窗口標題TITLE MySQL管理程序call :checkAdmingoto menu:菜單:menuclsecho. echo.=-=-=-=-請選擇您要對MySQL的操作-=-=-=-=-echo.echo.1: 啟動MySQLecho.echo.2: 關閉MySQLecho. echo.3: 重啟MySQLecho. echo.4: 退 出echo.echo.=-=-=-=-請輸入您要選擇的項目序號↓-=-=-=-set /p id=if "%id%"=="1" goto startupif "%id%"=="2" goto shutdownif "%id%"=="3" goto rebootif "%id%"=="4" exitpause:啟動:startupecho.call :checkMySQL 1echo.啟動MySQL......net start "MySQL"echo.啟動MySQL成功!pause goto menu :停止:shutdownecho.call :checkMySQL 2echo.關閉MySQL......net stop "MySQL"echo.關閉MySQL成功!pause goto menu:重啟:rebootecho.call :checkMySQL 2echo.關閉MySQL......net stop "MySQL"echo.關閉MySQL成功!goto startupgoto menu:退出:gooutpausegoto menu:檢查MySQL進程是否存在:checkMySQLset /a count=0for /f "tokens=1 delims= " %%i in ('tasklist /nh ^| find /i "MySQL"') do (set /a count+=1)if %count% neq 0 if "%1" equ "1" ( echo 警告:MySQL已啟動 goto goout)if %count% equ 0 if "%1" equ "2" ( echo 警告:MySQL未啟動 goto goout):檢查是否是以管理員身份運行:checkAdminecho test am i admin? > %SystemRoot%/System32/admin.hujunjieif not exist %SystemRoot%/System32/admin.hujunjie ( echo 警告:請以管理員身份運行! pause exit)# 這里的xxxx可以自己設定del %SystemRoot%/System32/admin.xxxx
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。
新聞熱點
疑難解答