在Linux上安裝及配置MariaDB


安裝MariaDB

1.切換到root用戶,首先執行rpm -qa | grep -i mysql檢查一下是否有已安裝的與MySQL相關的東西,如果有,使用rpm -e --nodeps mysql*進行強制卸載

2.使用yum安裝MariaDB,執行yum -y install mariadb mariadb-server

3.安裝完成后,執行systemctl start mariadb 啟動MariaDB,執行systemctl enable mariadb設置開機啟動

配置MariaDB

1.執行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] <– 是否重新加載權限表,回車

2.配置完成后,執行mysql -uroot -ppassword測試登錄。其中root為要登錄的用戶名,password為剛才設置的root用戶的密碼

3.測試成功后,配置MariaDB的字符集
- 使用vi編輯器打開/etc/my.cnf,在[mysqld]中添加

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
  • 使用vi編輯器打開/etc/my.cnf.d/client.cnf,在[client]中添加
    default-character-set=utf8
  • 使用vi編輯器打開/etc/my.cnf.d/mysql-clients.cnf,在[mysql]中添加
    default-character-set=utf8
  • 全部保存后,進入到MariaDB控制台,查看字符集
    show variables like "%character%";show variables like "%collation%";
    全部顯示UTF-8則配置成功

配置MariaDB遠程連接

進入到MariaDB控制台
1.執行如下語句建立用戶並賦予所有操作權限。
CREATE USER 'username'@'host' IDENTIFIED BY 'password';

參數 說明
username 將要創建的用戶名
host 指定該用戶在哪個主機上可以登陸,如果是本地用戶可用localhost,如果想讓該用戶可以從任意遠程主機登陸,可以使用通配符%
password 該用戶的登陸密碼,密碼可以為空,如果為空則該用戶可以不需要密碼登陸服務器

2.給用戶賦予遠程登錄權限
GRANT privileges ON databasename.tablename TO 'username'@'host'

參數 說明
privileges 用戶的操作權限,如SELECT , INSERT , UPDATE 等(權限列表見文末)。如果要授予所的權限則使用ALL
databasename 數據庫名
tablename 表名,如果要授予該用戶對所有數據庫和表的相應操作權限則可用表示,如.*

3.修改完成后在MariaDB控制台執行FLUSH PRIVILEGES刷新配置權限使其生效

此時即可通過ip遠程訪問主機上的MariaDB了。

若仍不能訪問,可進行以下檢查:
1.查看/etc/my.cnf,如skip-networkingbind-address(或bindaddress)被配置,則需要將這兩個參數注釋掉。

skip-networking 這個參數,會導致所有TCP/IP端口沒有被監聽,也就是說除了本機,其他客戶端都無法用網絡連接到本MariaDB服務器。
而bind-address這個參數是指定哪些ip地址被配置,使得MariaDB服務器只回應哪些ip地址的請求

2.如果仍然不能訪問,則有可能是防火牆的原因。在shell下執行/etc/init.d/iptables  stop關閉防火牆。

附:MariaDB操作權限

權限 描述
ALTER Allows use of ALTER TABLE
ALTER ROUTINE Alters or drops stored routines
CREATE Allows user of CREATE TABLE
CREATE ROUTINE Creates stored routines
CREATE TEMPORARY TABLE Allows user of CREATE TEMPORARY TABLE
CREATE USER Allows use ofCREATE USER,DROP USER,RENAME USER, and REVOKE ALL PRIVILEGES
CREATE VIEW Allows use of CREATE VIEW
DELETE Allows use of DELETE
DROP Allows use of DROP TABLE
EXECUTE Allows the user to run stored routines
FILE Allows use of SELECT...INTO OUTFILE and LOAD DATA INFILE
INDEX Allows use of CREATE INDEX and DROP INDEX
INSERT Allows use of INSERT
LOCK TABLES Allows use of LOCK TABLES on tables for which the user also has SELECT privileges
PROCESS Allows use of `SHOW FULL PROCESSLIST
RELOAD Allows use of FLUSH
REPLICATION Allows the user to ask where slave or master
CLIENT servers are
REPLICATION SLAVE Needed for replication slaves
SELECT Allows use of SELECT
SHOW DATABASES Allows use of SHOW DATABASE
SHOW VIEW Allows use of SHOW CREATE VIEW
SHUTDOWN Allows use of mysqladmin shutdown
SUPER Allows use of CHANGE MASTER,KILL,PURGE MASTER LOGS,andSET GLOBAL SQL statements. Allowsmysqladmin debug command.Allows one extra connection to be made if maximum connections are reached.
UPDATE Allows use of UPDATE
USAGE Allows connection without any specific privileges


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM