Mysql錯誤及處理總結

(1)error 1045 28000

通過匿名用戶登錄MySQL服務器的。沒有創建數據庫的權限。

mysql -hlocalhost -u root –p

(2)mysql 5.6.25  出現中文亂碼問題

舊版本中my.ini有詳細的設置,但是5.6.25中簡化了,而且參數名變了,具體設置爲

# For advice onhow to change settings please see

# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html

# *** DO NOTEDIT THIS FILE. It's a template which will be copied to the

# *** defaultlocation during install, and will be replaced if you

# *** upgrade toa newer version of MySQL.

 

[mysqld]

character_set_server=utf8

character_set_client=utf8

# Remove leading# and set to the amount of RAM for the most important data

# cache inMySQL. Start at 70% of total RAM for dedicated server, else 10%.

#innodb_buffer_pool_size = 128M

 

# Remove leading# to turn on a very important data integrity option: logging

# changes to thebinary log between backups.

# log_bin

 

# These arecommonly set, remove the # and set as required.

#basedir=D:\mysql-5.6.25-winx64

#datadir=D:\mysql-5.6.25-winx64\bin\data

# port = .....

# server_id =.....

 

 

# Remove leading# to set options mainly useful for reporting servers.

# The serverdefaults are faster for transactions and fast SELECTs.

# Adjust sizesas needed, experiment to find the optimal values.

# join_buffer_size= 128M

#sort_buffer_size = 2M

#read_rnd_buffer_size = 2M

 

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

 

[client]

port=3306

default-character-set=utf8

除此之外,在建立數據庫時

Create databasestudents character set utf8;

 

以上兩步完成順利顯示中文。

(3)ERROR 1364 (HY000):Field 'ssl_cipher' doesn't have a default value解決方法

添加用戶 insert into mysql.user(Host,User,Password)values("localhost","test",password("1234"));

報以下的錯誤 ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a defaultvalue錯誤

正確的添加用戶方法:

GRANT USAGE ON *.* TO 'user01'@'localhost' IDENTIFIED BY'123456' WITH GRANT OPTION;

用戶:user01,密碼:123456,這樣就添加了一個新的用戶,不會出以上的錯誤了。

(4)mysql批處理中出現的問題

d:mysqlbin mysql < mytest.sql
出現沒有權限操作的時
用mysql –u root –p <mytest.sql ,輸入密碼進行驗證獲得權限後再進行操作。
(5)存儲過程的函數

1 (1).字符串類

  2 CHARSET(str)//返回字串字符集

  3 CONCAT (string2 [,... ]) //連接字串

  4 INSTR (string ,substring )//返回substring首次在string中出現的位置,不存在返回0

  5 LCASE (string2 ) //轉換成小寫

  6 LEFT (string2 ,length)//從string2中的左邊起取length個字符

  7 LENGTH (string ) //string長度

  8 LOAD_FILE (file_name )//從文件讀取內容

  9 LOCATE (substring , string[,start_position ] ) 同INSTR,但可指定開始位置

 10 LPAD (string2,length ,pad ) //重複用pad加在string開頭,直到字串長度爲length

 11 LTRIM (string2 )//去除前端空格

 12 REPEAT (string2 ,count )//重複count次

 13 REPLACE (str ,search_str,replace_str )//在str中用replace_str替換search_str

 14 RPAD (string2,length ,pad) //在str後用pad補充,直到長度爲length

 15 RTRIM (string2 )//去除後端空格

 16 STRCMP (string1,string2 ) //逐字符比較兩字串大小,

 17 SUBSTRING (str , position[,length ])//從str的position開始,取length個字符,

 18 注:mysql中處理字符串時,默認第一個字符下標爲1,即參數position必須大於等於1

 19 

 20 mysql>selectsubstring('abcd',0,2); 

 21 +-----------------------+ 

 22 |substring('abcd',0,2)| 

 23 +-----------------------+ 

 24 |                      | 

 25 +-----------------------+ 

 26 1 rowinset (0.00 sec) 

 27 

 28 mysql>selectsubstring('abcd',1,2); 

 29 +-----------------------+ 

 30 |substring('abcd',1,2)| 

 31 +-----------------------+ 

 32 |     ab               | 

 33 +-----------------------+ 

 34 1 rowinset (0.02 sec) 

 35 TRIM([[BOTH|LEADING|TRAILING][padding]FROM]string2)//去除指定位置的指定字符

 36 UCASE (string2 ) //轉換成大寫

 37 RIGHT(string2,length)//取string2最後length個字符

 38 SPACE(count)//生成count個空格

 39 (2).數學類

 40 ABS (number2 )//絕對值

 41 BIN(decimal_number ) //十進制轉二進制

 42 CEILING (number2 )//向上取整

 43CONV(number2,from_base,to_base)//進制轉換

 44 FLOOR (number2 )//向下取整

 45 FORMAT (number,decimal_places )//保留小數位數

 46 HEX(DecimalNumber ) //轉十六進制

 47 注:HEX()中可傳入字符串,則返回其ASC-11碼,如HEX('DEF')返回4142143

 48 也可以傳入十進制整數,返回其十六進制編碼,如HEX(25)返回19

 49 LEAST (number , number2[,..])//求最小值

 50 MOD (numerator,denominator ) //求餘

 51 POWER (number ,power )//求指數

 52 RAND([seed])//隨機數

 53 ROUND (number[,decimals ])//四捨五入,decimals爲小數位數]

 54 注:返回類型並非均爲整數,如:

 55 (1)默認變爲整形值

 56 mysql>selectround(1.23); 

 57 +-------------+ 

 58 |round(1.23)| 

 59 +-------------+ 

 60 |          1| 

 61 +-------------+ 

 62 1 rowinset (0.00 sec) 

 63 

 64 mysql>selectround(1.56); 

 65 +-------------+ 

 66 |round(1.56)| 

 67 +-------------+ 

 68 |          2| 

 69 +-------------+ 

 70 1 rowinset (0.00 sec)

 71

 72

 73 (2)可以設定小數位數,返回浮點型數據

 74 mysql>selectround(1.567,2); 

 75 +----------------+ 

 76 |round(1.567,2)| 

 77 +----------------+ 

 78 |          1.57| 

 79 +----------------+ 

 80 1 rowinset (0.00 sec)

 81 SIGN (number2 )//

 82 

 83 (3).日期時間類

 84 ADDTIME (date2,time_interval )//將time_interval加到date2

 85 CONVERT_TZ(datetime2 ,fromTZ ,toTZ )//轉換時區

 86 CURRENT_DATE ( )//當前日期

 87 CURRENT_TIME ( )//當前時間

 88 CURRENT_TIMESTAMP ( )//當前時間戳

 89 DATE (datetime )//返回datetime的日期部分

 90 DATE_ADD (date2 ,INTERVAL d_value d_type )//在date2中加上日期或時間

 91 DATE_FORMAT (datetime ,FormatCodes )//使用formatcodes格式顯示datetime

 92 DATE_SUB (date2 ,INTERVAL d_value d_type )//在date2上減去一個時間

 93 DATEDIFF (date1 ,date2 )//兩個日期差

 94 DAY (date )//返回日期的天

 95 DAYNAME (date ) //英文星期

 96 DAYOFWEEK (date )//星期(1-7) ,1爲星期天

 97 DAYOFYEAR (date )//一年中的第幾天

 98 EXTRACT(interval_name FROM date ) //從date中提取日期的指定部分

 99 MAKEDATE (year ,day )//給出年及年中的第幾天,生成日期串

100 MAKETIME (hour ,minute ,second )//生成時間串

101 MONTHNAME (date ) //英文月份名

102 NOW ( ) //當前時間

103 SEC_TO_TIME (seconds ) //秒數轉成時間

104 STR_TO_DATE (string ,format )//字串轉成時間,以format格式顯示

105 TIMEDIFF (datetime1 ,datetime2 )//兩個時間差

106 TIME_TO_SEC (time ) //時間轉秒數]

107 WEEK (date_time [,start_of_week ]) //第幾周

108 YEAR (datetime )//年份

109 DAYOFMONTH(datetime)//月的第幾天

110 HOUR(datetime)//小時

111 LAST_DAY(date) //date的月的最後日期

112 MICROSECOND(datetime)//微秒

113 MONTH(datetime)//

114 MINUTE(datetime)//分返回符號,正負或0

115 SQRT(number2)//開平方

(6)Mysql Workbench基礎教程

http://blog.csdn.net/janefir/article/details/17142963


持續更新,未完待續。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章