最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux系統(tǒng)部署MySQL(mariadb)并進行簡單的操作步驟

 更新時間:2026年05月27日 09:50:24   作者:冷莫溪  
MariaDB作為Mysql的一個分支,在開源項目中已經廣泛使用,這篇文章主要介紹了Linux系統(tǒng)部署MySQL(mariadb)并進行簡單的操作步驟,文中通過代碼介紹的非常詳細,需要的朋友可以參考下

環(huán)境規(guī)劃

服務器版本

NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

關閉防火墻

systemctl stop firewalld
systemctl status firewalld

● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

關閉SElinux

直接在/root目錄輸入以下命令

setenforce 0

在/etc/selinux/config中設置selinux為disabled 

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled  #改為disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

阿里云源+epel源

yum repolist
已加載插件:fastestmirror
Determining fastest mirrors
 * base: mirrors.aliyun.com
 * epel: d2lzkl7pfhq30w.cloudfront.net
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
源標識                                   源名稱                                                                 狀態(tài)
!base/7/x86_64                           CentOS-7 - Base - mirrors.aliyun.com                                   10,072
!epel/x86_64                             Extra Packages for Enterprise Linux 7 - x86_64                         13,791
!extras/7/x86_64                         CentOS-7 - Extras - mirrors.aliyun.com                                    526
!updates/7/x86_64                        CentOS-7 - Updates - mirrors.aliyun.com                                 6,173
repolist: 30,562

如果沒有epel源通過一下命令安裝

yum -y install epel-release

安裝mysql(mariadb)

1.制作mariadb源

cd /etc/yum.repos.d/ # 進入目錄
vim mariadb.repo     # 編輯源文件

編輯內容如下

[mariadb]
name=MariaDB
# baseurl=https://mirror.mariadb.org/yum/10.5/centos7-amd64
baseurl=https://mirror.mariadb.org/yum/10.11.17/rhel7-amd64/
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

2.安裝mysql(mariadb)

# 使用yum進行安裝
yum -y  install MariaDB-server MariaDB-client

# 以下是安裝完成的狀態(tài)
已加載插件:fastestmirror, priorities
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * epel: d2lzkl7pfhq30w.cloudfront.net
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
10201 packages excluded due to repository priority protections
軟件包 MariaDB-server-10.11.9-1.el7.centos.x86_64 已安裝并且是最新版本
軟件包 MariaDB-client-10.11.9-1.el7.centos.x86_64 已安裝并且是最新版本
無須任何處理

3.啟動mysql(mariadb)

systemctl start mariadb #啟動服務
systemctl enable mariadb #設置開機啟動
systemctl restart mariadb #重新啟動

使用ss查看是否啟動

ss -taulanp | grep mariadb

mysql(mariadb)停止命令

systemctl stop mariadb #停止MariaDB

mysql(mariadb)設置

登錄mysql

直接輸入mysql或者輸入mysql -uroot -p登錄

方式一:mysql直接登錄

輸入mysql 直接進入不用輸入初始密碼

方式二:輸入輸入mysql -uroot -p進行登錄

輸入mysql -uroot -p進行登錄 —— 初始密碼為1

修改 MySQL root 密碼的方法

方法一:通過 MySQL 命令行修改

登錄 MySQL 服務器后執(zhí)行以下命令:

use mysql;
update user set authentication_string=password('新密碼') where user='root';
flush privileges;
exit;

重新登錄驗證:

mysql -u root -p

方法二:使用 mysqladmin 工具修改

在 Linux 終端執(zhí)行:

mysqladmin -u root -p password '新密碼'

注意事項

  • MySQL 5.7+ 版本使用 authentication_string 字段存儲密碼
  • 修改密碼后必須執(zhí)行 flush privileges 使更改生效
  • 密碼應設置為強密碼,避免使用簡單密碼如'123456'
  • 生產環(huán)境建議定期修改密碼并做好備份

密碼策略建議

  • 啟用 validate_password 插件加強密碼復雜度
  • 定期輪換密碼(建議每90天)
  • 不同環(huán)境使用不同密碼
  • 避免在腳本中明文存儲密碼

設置utf8字符集

1.先登錄mysql輸入\s查看查看初始狀態(tài)

MariaDB [(none)]> \s
--------------
mysql  Ver 15.1 Distrib 10.11.9-MariaDB, for Linux (x86_64) using readline 5.1

Connection id:          4
Current database:
Current user:           root@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server:                 MariaDB
Server version:         10.11.9-MariaDB MariaDB Server
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    utf8mb3
Conn.  characterset:    utf8mb3
UNIX socket:            /var/lib/mysql/mysql.sock
Uptime:                 2 min 42 sec

Threads: 1  Questions: 7  Slow queries: 0  Opens: 17  Open tables: 10  Queries per second avg: 0.043
--------------

2.退出mysql(mariadb)

MariaDB [(none)]> quit;
Bye

3.編輯文件/etc/my.cnf

vim /etc/my.cnf

加入配置

[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect = 'SET NAMES utf8mb4'
skip-character-set-client-handshake

[client]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4

4.重啟mariadb(mysql)

 systemctl restart mariadb

5.登錄mysql,輸入\s查看

MariaDB [(none)]> \s
--------------
mysql  Ver 15.1 Distrib 10.11.9-MariaDB, for Linux (x86_64) using readline 5.1

Connection id:          3
Current database:
Current user:           root@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server:                 MariaDB
Server version:         10.11.9-MariaDB MariaDB Server
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    utf8mb4
Db     characterset:    utf8mb4
Client characterset:    utf8mb4
Conn.  characterset:    utf8mb4
UNIX socket:            /var/lib/mysql/mysql.sock
Uptime:                 56 sec

Threads: 1  Questions: 4  Slow queries: 0  Opens: 17  Open tables: 10  Queries per second avg: 0.071
--------------

mysql基礎命令

庫和表及查詢操作

1.查看有那些庫

show databases;

2.切換或選擇要操作的數據庫

use mysql;

3.查看表

show tables;

4.查看表結構

方式一

describe user; --簡寫desc user;

方式二

show create table user\G;

        desc和show create table 都是用來查看表結構的但側重點不通、使用場景等不同。

         DESC 適合快速瀏覽字段的基礎信息,SHOW CREATE TABLE 適合獲取完整的建表語句和所有底層細節(jié)。

5.確認當前所處的數據庫

select database();

庫和表及用戶創(chuàng)建授權的基礎操作

1.創(chuàng)建數據庫

create database 庫名;

2.創(chuàng)建數據表

先切換選擇創(chuàng)建好的數據庫

use auth;

再進行數據庫的創(chuàng)建

創(chuàng)建users表

create table users(
    user_name char(16) not null,       -- 創(chuàng)建用戶名字段
    user_passwd char(48) default '',     -- 創(chuàng)建用戶密碼字段
    primary key (user_name));          -- 設置主鍵

創(chuàng)建yonghu表

create table yonghu(
    name char(10), -- 創(chuàng)建用戶名字段
    passwd char(10), -- 創(chuàng)建用戶密碼字段
    primary key (name)); -- 設置主鍵

3.插入數據

insert into users values('冷莫溪','123.com'); 

使用select查看是否插入

select * from users;

4.用戶的基本操作

(1)創(chuàng)建用戶

create user lengmx identified by '123456';

(2)查詢用戶

方式一:使用select命令查詢

select user,host,password from mysql.user;

方式二:使用show grants查詢

show grants for 'lengmx'@'%';

(3)用戶授權

授予權力,例如select

grant select on auth.* to 'lengmx'@'%';

使用show進行查詢

show grants for 'lengmx'@'%';

(4)撤銷用戶授權

revoke select on auth.* from lengmx;
show grants for 'lengmx'@'%';

mysql備份與恢復

mysqldump 基礎功能

mysqldump 是 MySQL 官方提供的邏輯備份工具,通過生成標準 SQL 語句文件實現(xiàn)數據庫結構和數據的導出。支持單庫、多庫、單表或全庫備份,默認輸出到標準輸出,需通過重定向保存為文件。

備份操作

1.在CentOS7.9中創(chuàng)建備份目錄

mkdir -pv /opt/mysql_bak

2.備份單個數據庫

把之前創(chuàng)建的數據庫auth備份到/opt/mysql_bak/ mysql_bak中

mysqldump -uroot -p auth > /opt/mysql_bak/auth_db.sql

驗證備份文件:

使用wc和cat進行查看

wc -l < /opt/mysql_bak/auth_db.sql
cat /opt/mysql_bak/auth_db.sql

3.備份特定數據表

把之前創(chuàng)建的數據表user備份到/opt/mysql_bak/mysql_bak中

mysqldump -uroot -p auth users > /opt/mysql_bak/users_bak.sql

驗證命令與上面數據庫備份相同。

4.全庫備份

mysqldump -uroot -p --all-databases > /opt/mysql_bak/alldb.sql

5.查看數據庫實際占用空間

du -sh /var/lib/mysql/

數據恢復操作

1.進入目標數據庫

mysql -uroot -p
use auth;
show tables;

2.刪除測試表

DROP TABLE users;

查看刪除后的表是否還在

show tables;

3.從備份恢復表

進入備份目錄cd /opt/mysql_bak/,使用之前備份特定數據庫的文件,然后恢復表  

之前備份的命令進行改寫(mysqldump換成mysql, > 換成 <)

mysql -uroot -p auth < /opt/mysql_bak/users_bak.sql;

驗證恢復:

SHOW TABLES;
SELECT * FROM users;

關鍵注意事項

  • 備份時使用 > 重定向輸出,恢復時使用 < 重定向輸入
  • 恢復操作需確保目標數據庫已存在(空庫亦可)
  • 全庫備份包含系統(tǒng)庫,恢復時可能需特殊權限
  • 大表備份建議添加 --single-transaction 參數避免鎖表

常用參數擴展

  • --no-data 僅備份結構
  • --add-drop-table 在創(chuàng)建表前添加刪除語句
  • --skip-lock-tables 跳過鎖表(可能影響一致性)
  • --where 條件導出部分數據

備份文件可通過壓縮減少空間占用:

mysqldump -uroot -p dbname | gzip > backup.sql.gz

總結 

到此這篇關于Linux系統(tǒng)部署MySQL(mariadb)并進行簡單的操作步驟的文章就介紹到這了,更多相關Linux部署MySQL內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

耒阳市| 珲春市| 兴海县| 会理县| 三都| 五家渠市| 启东市| 济源市| 孟连| 大冶市| 万源市| 汶川县| 白朗县| 昭通市| 台安县| 密云县| 玉屏| 吐鲁番市| 措美县| 甘德县| 临夏市| 化德县| 灵寿县| 梓潼县| 孝感市| 南岸区| 进贤县| 于田县| 信阳市| 双流县| 安达市| 芒康县| 岱山县| 海门市| 永寿县| 黔西县| 抚远县| 邮箱| 修武县| 中西区| 新干县|