都說linux 和 mysql 是絕配,最近做了個小應用,打算把數據庫切換成mysql. 記錄下安裝實操過程和遇到的坑。
一. 安裝步驟
1. 下載包:wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
[root@VM-0-2-centos ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
2. 安裝 rpm.
[root@VM-0-2-centos ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm
3. 安裝MySQL 服務。
[root@VM-0-2-centos ~]# yum -y install mysql-community-server
4. 啟動MySQL 服務
[root@VM-0-2-centos ~]# systemctl start mysqld.service
5. 查看MySQL運行狀態
[root@VM-0-2-centos ~]# systemctl status mysqld.service
6. MySQL 安裝后的臨時密碼
此時MySQL已經開始正常運行,如上圖,不過要想進入MySQL還得先找出此時root用戶的密碼,通過如下命令可以在日志文件中找出密碼
[root@VM-0-2-centos ~]# grep "password" /var/log/mysqld.log
二.開啟遠程登錄
1. 進去MySQL shell, MySQL的命令好像都要帶分號結尾。 -u 代表用戶 -p 代表密碼,接下來會提示輸入密碼
[root@VM-0-2-centos ~]# mysql -u root -p
2. 看有哪些數據庫。
mysql> show databases;
3. 切換到mysql 數據庫去修改用戶登錄權限,默認MySQL是不讓遠程機器訪問數據庫服務的,如下圖,root賬戶的Host = localhost。
4. 更新User 表 Host 字段為 ‘%’,代表所有遠程主機。
mysql> update user set Host='%' where User='root';
5.刷新權限
mysql> flush privileges;
三 .測試遠程主機訪問MySQL.
1. 鏈接工具 Navicat.
遇到的3個連接錯誤
i. navicat連接遠程mysql數據庫顯示2005 - unknown MySQL serverhost ‘ xxxx’(11001)解決辦法
這個可能是你的主機IP地址寫錯了,報錯也很明顯。
ii. ERROR 1130 (HY000): Host '' is not allowed to connect to this MySQL server
這個是因為默認MySQL沒有授權遠程主機鏈接,這個上面有解決辦法。
iii. Navicat連接MySQL時彈出1045:Access denied for user root@ '163.125.251.97', 這個是密碼錯誤,上面修改密碼了,鏈接客戶端的密碼也修改了嗎?
iv. 最后可能是騰訊雲主機的入站規則打開,添加3306 端口。