簡單在linux中搭建和使用mariadb(mysql)數據庫
安裝
在centos7上安裝mysql時安裝的是mariadb,其中mariadb是mysql的分支版本(由於mysql被閉源公司收購有閉源的風險,所以centos7對mysql的默認安裝時mariadb)。聯網安裝命令(需要root權限):
yum install mariadb-server (服務端)
yum install mariadb (客戶端)
啓動和停止服務
systemctl start mariadb.service #啓動MariaDB
systemctl stopmariadb.service #停止MariaDB
…
設置密碼
安裝之後數據庫用戶root的密碼爲空
mysql_secure_installation#設置密碼
在以下兩處選項使用n,其他的使用y
連接數據及顯示數據庫基本信息
mysql –u user –p passwd #本地命令行連接
>show databases; #顯示數據庫
>use databasename; #切換到對應數據庫
遠程使用工具navicat連接數據庫:
mariadb(mysql)數據庫默認開啓的端口爲3306
創建數據庫
CREATE DATABASE `ycyspts` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
注意這裏的ycyspts被定義爲數據庫,將成爲mysql的關鍵字,在mysql中爲了區分關鍵字和普通字符串的區別,是用反引號``來表示關鍵字,使用單引號’’表示普通字符串
連接報錯問題解決:
(1)1045 (28000): Access denied for user 'root'@'ip' (using password: YES)
錯誤表示在進行遠程連接的時候密碼正確,但是,進行遠程授權的時候授權密碼錯誤
(2)1045 (28000): Access denied for user 'root'@'ip' (using password: NO)
密碼錯誤
(3)1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server
錯誤表示沒有進行遠程連接授權,需要進行遠程授權
>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的MariaDB密碼' WITH GRANT OPTION;
>flush privileges;
(4)2003錯誤
是防火牆原因,是因爲防火牆開啓數據庫端口沒打開
關閉防火牆:systemctl stop firewalld