歡迎和大家交流技術相關問題:
郵箱: jiangxinnju@163.com
博客園地址: http://www.cnblogs.com/jiangxinnju
GitHub地址: https://github.com/jiangxincode
知乎地址: https://www.zhihu.com/people/jiangxinnju
ERROR 1130: Host 10.0.0.1 is not allowed to connect to this MySQL server
在用遠程連接MySQL服務器的數據庫,不管怎么弄都是連接不到,錯誤代碼是1130,ERROR 1130: Host 10.0.0.1 is not allowed to connect to this MySQL server
猜想是無法給遠程連接的用戶權限問題。結果這樣子操作MySQL庫,即可解決。在本機登入MySQL后,更改 “mysql” 數據庫里的 “user” 表里的 “host” 項,從”localhost”改稱'%'。
mysql -u root -p
use mysql;
select `Host`, `User` from `user` where `User` = 'root';
update user set host = '%' where user ='root';
flush privileges;
select `Host`, `User` from `user` where `User` = 'root';
第一句是以權限用戶root登錄;第二句:選擇mysql庫;第三句:查看mysql庫中的user表的host值;第四句:修改host值(以通配符%的內容增加主機/IP地址),當然也可以直接增加IP地址;第五句:刷新MySQL的系統權限相關表;第六句:再重新查看user表時。重啟mysql服務即可完成。
ERROR 1044 (42000):Access denied for user
這個問題主要是因為授權用戶本身的權限不足引起的。我們以root用戶為例,需要注意到地方有以下幾個方面:
-
MySQL的user表很重要。必須保證root用戶在user表里面有兩條記錄,也就是
root localhost ……..
root 127.0.0.1 ……. -
保證root用戶擁有所有權限,也就是user表里面的所有字段里面對應的內容是Y
-
在my.ini后者my.cnf里面有這個配置項的時候
bind-address=localhost
啟用這個配置項可以保證安全
Error: 1265 SQLSTATE: 01000 (WARN_DATA_TRUNCATED
- 字符長度太短;
- 亂碼,更改統一的字符類型,比如更改字符類型為utf8;
- 如果是 Enum,則可能是添加的字符不在enum類型范圍內;
- 另一可能是在alter table更改列設置時,影響原來存入的值,這時可將原值update為需要的類型值或刪除這些原值再alter table
error while loading shared libraries: libtinfo.so.5
ncurses包(ncurses-libs-5.6)已經安裝,運行mysql時仍然提示:
mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
此時只需要創建軟連接即可,創建命令如下:
ln -s /usr/lib/libncurses.so.5 /lib/libtinfo.so.5
其中libncurses.so.5
到底在哪個目錄,不同的OS可能有所不同(比如SUSE X64就是在/lib64
目錄下),可以嘗試使用ldd mysql
命令查看mysql依賴的其它庫在哪個目錄,然后在對應目錄查找是否有libncurses.so.5
No curses/termcap library found
源碼安裝MySQL 5.1.30,在./configure階段報錯如下:
checking for tgetent in -lncurses... no
checking for tgetent in -lcurses... no
checking for tgetent in -ltermcap... no
checking for tgetent in -ltinfo... no
checking for termcap functions library... configure: error: No curses/termcap library found
原因是缺少ncurses的相關庫,按照下面方式安裝ncurses即可:
# RedHat系列
yum list|grep ncurses
yum -y install ncurses-devel
yum install ncurses-devel
# Debian系列
apt-cache search ncurses
apt-get install libncurses5-dev