Linux服務器安裝mysql5.6
在Linux服務器安裝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
- 顯示成功!
一些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