在阿里雲上部署mysql數據庫
1、服務器是centOS8 默認安裝了mariadb的lib,但需要手動安裝server,所以執行:yum -y install mariadb mariadb-server,安裝客戶端;
2、安裝完成后執行:systemctl start mariadb 啟動mariadb;
3、執行:systemctl enable mariadb 設置開機自動啟動;
4、配置mariadb,執行:mysql_secure_installation
* Enter current password for root (enter for none):<–初次運行直接回車
- 設置密碼
* Set root password? [Y/n] <– 是否設置root用戶密碼,輸入y並回車或直接回車
* New password: <– 設置root用戶的密碼
* Re-enter new password: <– 再輸入一次你設置的密碼
- 其它配置
* Remove anonymous users? [Y/n] <– 是否刪除匿名用戶,回車
* Disallow root login remotely? [Y/n] <–是否禁止root遠程登錄,回車,
* Remove test database and access to it? [Y/n] <– 是否刪除test數據庫,回車
* Reload privilege tables now? [Y/n] <– 是否重新加載權限表,回車;
4、基礎配置完成后,執行:mysql -uroot -ppassword 進行登錄
5、配置mariadb字符集合,執行vim/etc/my.cnf,通過vi編輯器在my.cnf中插入:
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
6、使用vi編輯器打開/etc/my.cnf.d/client.cnf,在[client]中添加 :
default-character-set=utf8
7、使用vi編輯器打開/etc/my.cnf.d/mysql-clients.cnf,添加:
default-character-set=utf8
8、配置遠程鏈接
-在linx命令行中輸入:mysql -uroot -ppasswd 進入mariadb控制台;
-在控制台中輸入:use mysql;
-輸入:CREATE USER 'username'@'host' IDENTIFIED BY 'password';新建用戶並賦予所有權限
(username:要新建的用戶名,host:允許用戶從那個主機登錄,用%則表示,可以從任何主機登錄,password:登錄的密碼)
-賦予用戶遠程登錄權限:GRANT privileges ON databasename.tablename TO 'username'@'host'
(privileges:用戶的操作權限,如SELECT , INSERT , UPDATE 等如,要授予所的權限則使用ALL,databasename.tablename:數據庫名.表名,授予該用戶對所有數據庫和表的相應權限可用.*
9、修改完成在mariadb控制台執行:FLUSH PRIVILEGES進行刷新配置並生效
10、在修改my.cnf.d/mariadb-server.cnf中bind-address的ip使所有ip都可以遠程訪問:bind-address=0.0.0.0
11、關閉防火牆:sudo service firewalled stop 或者 iptables -F
12、進入阿里雲服務器控制台,在控制台中的安全組策略中出/入都要加入對應的3306端口,源ip設置為:0.0.0.0/0使得所有ip都可以訪問;
附linux常用命令:
遍歷查找關鍵字:grep -rn 'XXXXXX'*
遍歷查找文件:find . -name '*.xml'
本地連接數據庫:mysql -uroot -p
查看是否已經安裝過:yum list installed | grep mysql
卸載已安裝的包:yum remove XXX.XX
linux下ping某個服務器指定端口:telnet x.x.x.x 3306
關閉防火牆:sudo service firewalled stop 或者 iptables -F
重啟mariadb數據庫:systemctl restart mariadb
查看開放的tcp類型端口:netstat -ntpl