Linux服務器安裝mysql5.6

Linux服務器安裝mysql5.6

在Linux服務器安裝mysql步驟 官網

查看mysql各版本庫

準備工作

  • 服務器常運行
  • ssh連接上

1. 下載官方的rpm包

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

2. 安裝rpm包

rpm -ivh mysql-community-release-el7-5.noarch.rpm

3. 安裝mysql

//會自動安裝一堆依賴
yum -y install mysql-server 

//然後檢查是否安裝成功
rpm -qa|grep mysql

//然後啓動mysql
service mysqld start

4. 重置密碼

//安裝完之後登錄
mysql -u root
  • 會報錯如下: ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
//將創建者修改爲當前用戶即可解決
cd /var/lib
chown -R root mysql

//修改完之後重啓mysql服務,不然還是會報錯無法登入
service mysqld restart

//再次登入mysql重置密碼
mysql -u root -p
>直接回車進入 
mysql > use mysql;
mysql > update user set password=password('root') where user='root';
mysql > flush privileges;
mysql > exit;

//再次重啓mysql
service mysqld restart

5. 關閉防火牆

//firewall-cmd --state(關閉)就好了
//關閉防火牆適用於tomcat,nginx等
vim /etc/sysconfig/iptables

#增加3306端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

//重啓防火牆
service iptables restart 

//查看狀態
service iptables status

6. 設置外網訪問權限

mysql -u root -p
> 輸入密碼(root)

//查詢用戶
mysql > select user,host from mysql.user; 

//(根據需要可跳過此步驟)創建子賬號abc密碼123456的用戶
mysql > create user abc@localhost identified by '123456';  

//創建db名爲mytcya
mysql > CREATE DATABASE IF NOT EXISTS mytcya DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

//查詢是否創建db成功
mysql > show databases;

//允許用戶root使用密碼root遠程訪問名爲mytcya的db
mysql > grant all privileges on mytcya.* to root@localhost identified by 'root' WITH GRANT OPTION;

//如果遠程連接會報錯, 再次進入mysql
//java.sql.SQLException: null, message from server: "Host 'xxx.xxx.xxx.xxx' is not allowed //to connect

//切換到mysql
mysql > use mysql
mysql > show tables;
//會顯示一堆表

//查詢user列表
mysql > select host from user;

//將任何host添加可訪問
mysql > update user set host ='%' where user ='root';
//如果出現錯誤提示: ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY' 
//直接忽略他

//刷新退出
mysql > flush privileges;
mysql > quit;

//再次重啓mysql
service mysqld restart
  • 重要: 修改配置文件不然數據庫8小時無訪問會鎖定無法連接
//修改MySQL的參數,wait_timeout最大爲31536000即1年,在/etc/my.cnf中加入:

[mysqld]
wait_timeout=31536000
interactive_timeout=31536000
重啓生效,需要同時修改這兩個參數。

//再次重啓mysql
service mysqld restart

7. 使用連接軟件測試

jdbc:mysql://你的服務器IP:3306/root?characterEncoding=utf-8&serverTimezone=UTC

ljcg

  • 顯示成功!

一些mysql出錯解決辦法

//kill -9 命令無法殺死 mysql 進程,因爲 mysqld_safe 會自動重啓 正確關閉命令如下:
/usr/local/mysql/bin/mysqladmin shutdown

//檢查 mysql 服務狀態
/usr/share/mysql/mysqladmin status


//(可選)查看Mysql 運行狀態 
service mysqld status 

//(重要)解決不了的問題, 就去查看錯誤日誌, 再百度搜索相關錯誤信息
cat /var/log/mysqld.log

//報錯Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)
rm -rf /var/lib/mysql/mysql.sock
ln -s /var/lib/mysql/mysql.sock

發佈了69 篇原創文章 · 獲贊 16 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章