目的:在Linux(3.10.0-862.3.2.el7.x86_64)上安裝Mysql數據庫,並可以遠程連接使用。
注意:從最新版本的linux系統開始,默認的是 Mariadb而不是mysql!這裏依舊以mysql爲例進行展示
先檢查系統是否裝有mysql
rpm -qa | grep mysql
因爲centos-7默認是Mariadb,所以執行以下命令只是更新Mariadb數據庫yum install mysql ,刪除已經存在的mysql數據庫。
yum remove mysql
下載mysql的repo源
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
安裝mysql-community-release-el7-5.noarch.rpm包
rpm -ivh mysql-community-release-el7-5.noarch.rpm
安裝這個包後,會獲得兩個mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。
安裝mysql
yum install mysql-server
根據步驟安裝就可以了,不過安裝完成後,沒有密碼,需要重置密碼。安裝後再次查看mysql
重置密碼
重置密碼前,首先要登錄 mysql -u root
登錄時有可能報這樣的錯:ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
原因是/var/lib/mysql的訪問權限問題。下面的命令把/var/lib/mysql的擁有者改爲當前用戶:
chown -R openscanner:openscanner /var/lib/mysql
如果報chown: 無效的用戶: "openscanner:openscanner"錯誤,更換命令,並用 ll 查看目錄權限列表
chown root /var/lib/mysql/
啓動服務
service mysqld start
重啓服務
service mysqld restart
登錄重置密碼
[root@Taowd-PC ~]# mysql -u root -p
mysql > use mysql;
mysql > update user set password=password('123456') where user='root';
mysql > exit;
重啓mysql服務後才生效 service mysqld restart
爲root添加遠程連接的能力
-
查看host下面有沒有%,我的表中已經有%數據行,如果沒有添加一個。
-
進行授權如果想root用戶使用password從任何主機連接到mysql服務器的話。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
- 如果想用戶root從ip爲192.168.1.13的主機連接到mysql服務器,並使用mypassword作爲密碼
GRANT ALL PRIVILEGES ON . TO 'root'@'192.168.1.13' IDENTIFIED BY 'root' WITH GRANT OPTION;
- 重啓服務,從本地登錄,成功
開放3306端口號
firewalld 防火牆(centos-7)運行命令,並重啓:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
iptables 防火牆(centos6.5及其以前)運行命令
vim /etc/sysconfig/iptables
在文件內添加下面命令行,然後重啓
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
service iptables restart