MariaDB安裝與初始化

1. 安裝與初始化

建議yum方式安裝,否則無數(shù)個依賴整死你。

以最新且穩(wěn)定的原則,選擇安裝MariaDB10.2,操作系統(tǒng)為CentOS 7.4。

Step1:在/etc/yum.repos.d/目錄下創(chuàng)建MariaDB的yum源文件MariaDB.repo,參考官網(wǎng)Setting up MariaDB Repositories

cat << EOF > /etc/yum.repos.d/MariaDB.repo
# MariaDB 10.2 CentOS repository list - created 2018-04-23 04:49 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb] 
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
EOF

Step2: yum install

sudo yum install MariaDB-server MariaDB-client

以下是部分安裝信息,可以看到需要很多依賴,所以不建議rpm包或編譯方式安裝,否則需要自行處理眾多依賴,極有可能出錯。

已安裝:
  MariaDB-client.x86_64 0:10.1.23-1.el7.centos
  MariaDB-server.x86_64 0:10.1.23-1.el7.centos
  MariaDB-shared.x86_64 0:10.1.23-1.el7.centos

作為依賴被安裝:
  MariaDB-common.x86_64 0:10.1.23-1.el7.centos
  boost-program-options.x86_64 0:1.53.0-26.el7
  galera.x86_64 0:25.3.20-1.rhel7.el7.centos
  perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7
  perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7
  perl-DBI.x86_64 0:1.627-4.el7
  perl-Data-Dumper.x86_64 0:2.145-3.el7
  perl-IO-Compress.noarch 0:2.061-2.el7
  perl-Net-Daemon.noarch 0:0.48-5.el7
  perl-PlRPC.noarch 0:0.2020-14.el7

不過yum方式下載速度確實(shí)有點(diǎn)慢,但也沒什么好辦法,國內(nèi)各大鏡像都是5.5版本的,掛機(jī)下載安裝吧!

Step3: 初始化,這一步必須使用root賬號登錄

#設(shè)置編碼
vim /etc/my.cnf
...
[mysqld]
character-set-server=utf8

#啟動(自啟動:systemctl enable mariadb)
systemctl start mariadb

#初始化(進(jìn)一步操作根據(jù)提示進(jìn)行,基本上一路yes)
mysql_secure_installation

2. 用戶與權(quán)限相關(guān)操作

客戶端連接
mysql -h127.0.0.1 -P3306 -u<username> -p<password>

首次連接時可能出現(xiàn)錯誤提示,依次執(zhí)行以下命令即可

sudo mysql -uroot
use mysql;
update user set plugin='' where user='root';
flush privileges;
exit

如果通過其他主機(jī)遠(yuǎn)程連接時,出現(xiàn)以下錯誤,則需要關(guān)閉selinux及firewalld。

ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.166.130' (113 "No route to host")
查看用戶
select user,host from mysql.user;
創(chuàng)建用戶并設(shè)置密碼及允許訪問的host
insert into mysql.user (user,host,password) values ('mysql','%',password('密碼'));
修改密碼
update mysql.user set password=password('新密碼') where user='用戶名';
創(chuàng)建用戶
insert into mysql.user (user,host) values ('mysql','%');
修改密碼
update mysql.user set password=password('密碼') where user='用戶';
授權(quán)
grant insert,update,select,delete on 數(shù)據(jù)庫.* to 用戶@'%';
撤銷權(quán)限
revoke delete on 數(shù)據(jù)庫.*  from 用戶;
更新權(quán)限
flush privileges;

3. 數(shù)據(jù)庫相關(guān)操作

查看字符編碼
MariaDB [(none)]> show variables like '%character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8mb4                    |
| character_set_connection | utf8mb4                    |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8mb4                    |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
查看數(shù)據(jù)庫列表
show databases;
show schemas;
創(chuàng)建數(shù)據(jù)庫
MariaDB [(none)]> create schema test default charset utf8;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> show create database test;
+----------+---------------------------------------------------------------+
| Database | Create Database                                               |
+----------+---------------------------------------------------------------+
| test     | CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+---------------------------------------------------------------+
1 row in set (0.00 sec)
刪除數(shù)據(jù)庫
MariaDB [(none)]> drop database test;
Query OK, 0 rows affected (0.00 sec)
切換當(dāng)前數(shù)據(jù)庫
use 數(shù)據(jù)庫;
查看當(dāng)前數(shù)據(jù)庫下所有表
show tables;
查看表中所有字段詳細(xì)信息
show full columns from 表名;

4.時區(qū)設(shè)置

4.1 查看時區(qū)
MariaDB [(none)]> show variables like '%time_zone%';
+------------------+--------+
| Variable_name    | Value  |
+------------------+--------+
| system_time_zone | UTC    |
| time_zone        | +08:00 |
+------------------+--------+
4.2 設(shè)置當(dāng)前會話時區(qū)
set time_zone = '+8:00';
flush privileges;
4.3 設(shè)置全局時區(qū)
set global time_zone = '+8:00';
flush privileges;

5. 導(dǎo)入、導(dǎo)出

導(dǎo)出(備份結(jié)構(gòu)和數(shù)據(jù))
mysqldump -h 127.0.0.1 -u root -p 數(shù)據(jù)庫 > 導(dǎo)出文件
導(dǎo)出(僅備份結(jié)構(gòu))
mysqldump -h 127.0.0.1 -u root -p -d 數(shù)據(jù)庫 > 導(dǎo)出文件
導(dǎo)入(恢復(fù))
mysql -u root -p -h 127.0.0.1
use 數(shù)據(jù)庫名
source 備份.sql
# 或使用以下方式
mysql -u root -p -h 127.0.0.1 < 備份.sql
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,872評論 25 709
  • 轉(zhuǎn)載請注明文章出處http://www.itdecent.cn/p/13bec4dc4537樂于分享點(diǎn)滴技術(shù) 一、...
    碼夫閱讀 355評論 0 1
  • MySQL進(jìn)階講義 這一章我們開始進(jìn)一步探討MySQL的使用,從MySQL的介紹開始,接觸MySQL的安裝、命令行...
    厲鉚兄閱讀 2,378評論 0 44
  • 為什么而讀書? 為打發(fā)時間?為增長見識?為學(xué)習(xí)新的知識?為培養(yǎng)氣質(zhì)……所以這一切都是我們想要的,可真正屬于自己的太...
    不算愛閱讀 175評論 0 0
  • 文/非是藉秋風(fēng) 四千多年前,帝舜傳位給大禹的同時也傳給了大禹十六字的“治國方針”:“人心惟危,道心惟微;惟精惟一,...
    非是藉秋風(fēng)閱讀 6,525評論 39 75

友情鏈接更多精彩內(nèi)容