參考此文檔:http://www.jb51.net/article/116032.htmmysql
http://www.jb51.net/article/95399.htmsql
1.在官網下載mysql57-community-release-el7-11.noarch.rpm數據庫
rpm -ivh mysql57-community-release-el7-11.noarch.rpmwindows
2.MySQL has a dependency on the libaio
library. centos
yum install libaio安全
yum install mysql-serverbash
3.mysql -u root服務器
是沒有權限 chown root:root /var/lib/mysqlsocket
service mysqld restarttcp
4.mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
mysql5.7新增的特性中主要的一方面就是極大加強了安全性,安裝Mysql後默認會爲root@localhost用戶建立一個隨機密碼,這個隨機密碼在不一樣系統上須要使用不一樣方式查找,不然沒法登陸mysql並修改初始密碼。
centos7是在/var/log/mysqld.log
cat /var/log/mysqld.log
再次登陸
mysql -u root -p
輸入剛纔找到的密碼
登陸成功
5.第一次登陸後必須修改密碼
ALTER USER
'root'
@
'localhost'
IDENTIFIED BY
'password'
;
但依然出現問題
是由於validate_password_policy策略問題
默認爲medium
因此首先修改validate_password_policy參數的值:
mysql> set global validate_password_policy=0;
而後判斷密碼的標準就基於密碼的長度了。這個由validate_password_length參數來決定。修改validate_password_length:
mysql> set global validate_password_length=1;
執行修改密碼:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
受權其餘機器登陸
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
6.遠程登陸 mysql -h *.*.*.* -u root -p password
出現錯誤
ERROR 2003 (HY000): Can't connect to MySQL server on '110.110.110.110' (113)
上一過程已經設置遠程權限,並且能ping通,按以下方法檢測:
(1) ps -aux | grep mysql 檢測服務是否啓動
(2)telnet hostname 3306 確認服務器TCP層通訊沒有問題。
不通,多是防火牆問題:
systemctl stop firewalld.service關閉防火牆
Telnet 連上
成功
1.
==========================================================================
故障現象 : 沒法鏈接 mysql
錯誤信息 :ERROR 1130: Host xx.xx.xx.xx is not allowed to connect to this MySQL server
緣由 : mysql服務器沒有賦予此客戶端遠程鏈接的權限。
檢查 :在mysql服務器本地查詢mysql庫裏user表對應的host是否包含客戶端機器的IP(%爲不限制IP容許遠程鏈接)。
處理 :修改mysql庫下的user表:update user set host = '%' where user ='XXX';flush privileges;
====================================================================================
2.
=====================================================================================================
故障現象 : 沒法鏈接 mysql
錯誤信息 :ERROR 1045 (28000): Access denied for user 'usera'@'localhost' (using password:YES)
緣由 : 用戶帳號並未建立
檢查 :以管理員ROOT登陸後,show grants for 'usera'@'localhost'; 或者 select user from mysql.user; 確認用戶帳號是否存在。
處理 :建立用戶帳號。
=====================================================================================================
3.
=====================================================================================================
故障現象 : 沒法鏈接 mysql
錯誤信息 :ERROR 2003 (HY000): Can't connect to MySQL server on 'hostxxxxx' (10061)
緣由 : mysqld 客戶端與服務端端口不一致。
檢查 :在my.ini 設置下服務端口 這種狀況特別是客戶都與遠程服務器端口不一致 很容易出現的問題
處理 :啓動mysqld 服務
=====================================================================================================
4.
=====================================================================================================
故障現象 : 沒法鏈接 mysql windows
錯誤信息 :ERROR 2003 (HY000): Can't connect to MySQL server on 'hostxxxxx' (10061)
緣由 : 同時開啓大量的tcp端口和而僅有一小部分短命端口時,當他們處於time_wait時期,mysql可能會跑錯端口
檢查 :在windows 默認會開啓5000個臨時端口供調用,而他們的生命僅僅是120s,意思是在關閉端口的時候會有120秒的延時
處理 :減小不沒必要要的tcp端口。
修改註冊表
=====================================================================================================
5.
===================================================================================================== 故障現象 : 沒法鏈接 mysql 錯誤信息 :ERROR 2002 (HY000): Can't connect to local MySQL server server through socket '/var/lib/mysql/mysql.sock'(111) 緣由 : mysqld的mysql.sock沒在相應的位置。 處理 :1.先查看/etc/rc.d/init.d/mysql status 看看是否啓動 2.改權限 chown -R mysql:msyql /var/lib/mysql 3.修改/etc/my.cnf (注意:先停數據庫) [mysqld] datadir=/usr/local/mysql/data socket=/var/lib/mysql/mysql.sock [mysql.server] user=mysql basedir=/usr/local/mysql [client] socker=/var/lib/mysql/mysql.sock 4.啓動數據庫 =====================================================================================================