一:登入報錯
error 1045 (28000): access denied for user 'mysql'@'localhost' (using password: no)
mysql日誌檔案總結此問題的整體步驟如下:
第一步:修改pid路徑
檢視日誌檔案中錯誤資訊:
cat /var/log/mysqld.log
2013-10-26 16:39:34 3712 [error] /usr/sbin/mysqld: can't create/write to file '/var/run/mysqld/mysqld.pid' (errcode: 2 - no such file or directory)
2013-10-26 16:39:34 3712 [error] can't start server: can't create pid file: no such file or directory
原因:mysql 使用者沒有操作/var/run目錄的許可權,所以pid檔案無法建立,導致登陸時無法建立 程序資訊檔案,登陸程序就無法開啟,自然無法登陸。
解決:修改 /etc/my.conf
原來為:
#pid-file=/var/run/mysqld/mysqld.pid
修改為pid-file=/var/lib/mysql/mysqlid.pid
檢查發現,mysql使用者根本無法cd到/var/run/。修改為mysql可以有許可權的目錄後再執行mysql就進入資料庫了。
第二步:修改資料庫預設密碼
/etc/init.d/mysql stop (service mysqld stop)
/usr/bin/mysqld_safe --skip-grant-tables
另外開個ssh連線
[root@localhost ~]# mysql
mysql>use mysql
mysql>update user set password=password("123456") where user="root";
mysql>flush privileges;
mysql>exit
然後[mysql@localhost etc]$ ps -a | grep mysql
4532 pts/0 00:00:00 mysqld_safe
5542 pts/0 00:00:00 mysqld
[mysql@localhost etc]$ kill -9 4532 5542
正常啟動 mysql:/etc/init.d/mysql start (service mysqld start)
第三步:
登陸ok。 mysql -uroot -p
二:遠端登入mysql資料庫報錯
error 1130 (hy000): host '192.168.76.50' is not allowed to connect to this mysql server
1.改表法。
可能是你的帳號不允許從遠端登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 "mysql" 資料庫裡的 "user" 表裡的 "host" 項,從"localhost"改稱"%"
mysql -u root -ptalent123
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
mysql> flush privileges;
2.授權法。
例如,你想myuser使用mypassword從任何主機連線到mysql伺服器的話。
grant all privileges on *.* to 'myuser'@'%' identified by 'mypassword' with grant option;
如果你想允許使用者myuser從ip為192.168.1.3的主機連線到mysql伺服器,並使用mypassword作為密碼
grant all privileges on *.* to 'myuser'@'192.168.1.3' identified by
'mypassword' with grant option;
三:建立普通使用者後無法在本地登入
[root@jcfx-4 ~]#mysql -h192.168.76.73 -usalt -psalt
error 1045 (28000): access denied for user 'salt'@'jcfx-4' (using password: yes)
通過檢視user表發現localhost對應的是空密碼,所以這是導致不能再本地登入的根本原因:
解決方法:
mysql> grant select,insert,update,delete on salt.* to salt@"localhost" identified by "salt";
query ok, 0 rows affected (0.01 sec)
mysql> flush privileges;
query ok, 0 rows affected (0.00 sec)
四:mysql登入報錯:
[root@patronus2 bin]# mysql
-bash: mysql: command not found
解決方法:
ln -s /usr/local/mysql/bin/mysql /usr/bin
五:設定字符集
server version: 5.6.21 mysql
character_set_server=utf8
注:遇到異常情況,通過上面列舉的辦法應該是可以解決;
git常見報錯解決方法
1 warning lf will be replaced by crlf in idea workspace.xml.git config global core.autocrlftrue 1 拉取伺服器 注 提交 之前,需先從伺服器上面拉取 以防覆蓋別人 git pull origin moni...
Git常見報錯及解決方法
1 warning lf will be replaced by crlf in idea workspace.xml.git config global core.autocrlf true1 拉取伺服器 注 提交 之前,需先從伺服器上面拉取 以防覆蓋別人 git pull origin moni...
mysql 常見報錯和問題
在乙個查詢中傳遞的資料過大,導致 error 2006 mysql server has gone away 方法1.這種情況下可以通過設定mysql的配置檔案my.cnf檔案修改下面的選項來修復 max allowed packet 64m 方法2.檢視預設引數值 mysql show globa...