說明:本文主要詳細介紹了關於如何在阿里雲ECS服務器上安裝並配置Mysql
環境:Centos 7版本,阿里雲部署好系統后會默認安裝mariadb數據庫
1、刪除阿里雲自帶的MariaDB
# rpm -qa | grep mariadb //查看當前已安裝的mariadb服務 # rpm -e --nodeps 文件名 //卸載mariadb,文件名為搜索出來的文件
2、下載與安裝Mysql
(1)下載MySql官方的yum repository
# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
(2)下載並安裝rpm包
# yum -y install mysql57-community-release-el7-10.noarch.rpm
(3)安裝MySql服務
# yum -y install mysql-community-server
說明:這里需要等待一段時間,直到最后出現commplete表示安裝完成
(4)啟動MySql服務
# systemctl start mysqld.service
說明:Active:active(running)表明MySql服務已啟動
(5)MySql常用配置命令
# service mysql restart //重啟MySql # service mysql stop //停止MySql服務 # service mysql status //查看MySql當前運行狀態 # chkconfig mysqld on //設置MySql開機自啟動
3、登錄到MySql
# mysql -uroot -p //登錄到MySql
說明:第一次運行MySql系統會分配一個初始密碼,通過查看初始密碼登錄到MySql
# grep "password" /var/log/mysqld.log
4、修改MySql密碼
說明:linux中的mysql自帶密碼安全策略,需要設置復雜的密碼,如需設置簡單密碼:輸入以下命令
mysql>set global validate_password_policy=0;
mysql>
set
global validate_password_length=1; //設置密碼的最低長度
mysql>set password=password('新密碼'); //修改root用戶密碼,需要設置復雜的密碼(大小寫,特殊符合,數字組合)
5、配置遠程登錄
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密碼' WITH GRANT OPTION; //給root分配任何IP訪問權限 mysql>flush privileges; //刷新權限,使權限生效
添加3306端口
# firewall-cmd --zone=public --add-port=3306/tcp --permanent
說明:若系統提示FirewallD is not running表明防火牆未運行,開啟防火牆
# systemctl status firewalld //查看防火牆運行狀態 # systemctl start firewalld //開啟防火牆
建議:添加3306端口前,查看防火牆運行狀態,若關閉則開啟防火牆,最后關閉防火牆即可
# firewall-cmd --reload //重啟防火牆
# systemctl stop firewalld //關閉防火牆,一定要關閉,否則導致jdbc無法訪問
6、配置my.cnf配置文件
# vim /etc/my.cnf //編輯mysql配置文件,並且在末尾添加以下代碼 character_set_server=utf8 init_connect='SET NAMES utf8'
7、navicat連接阿里雲MySql
注:采用navicat新建數據庫時,需要將編碼方式設置為,字符集:utf8 -- UTF-8 Unicode ,排序規則:utf8_general_ci
8、解決在阿里雲下無法用JDBC連接數據庫的問題
問題描述:在阿里雲下安裝好了mysql后,即使你給root用戶開放了所有IP訪問權限,這還僅僅只是能夠使用navicat連接,
當你在Java中使用JDBC連接你的阿里雲mysql會報連接異常。強調:在開放了3306端口號后,一定要再次關閉Linux的防火牆
解決辦法:登錄到你的阿里雲控制台,在實例中進行配置規則,開放3306端口即可,如圖