Centos安装MariaDB

116 阅读4分钟

创建MariaBD的yum源

MariaDB官网

添加源

vim /etc/yum.repos.d/MariaDB.repo

源内容

# MariaDB 10.4 CentOS repository list - created 2023-04-25 02:18 UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
# rpm.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details.
# baseurl = https://rpm.mariadb.org/10.4/centos/$releasever/$basearch
baseurl = https://mirrors.neusoft.edu.cn/mariadb/yum/10.4/centos/$releasever/$basearch
module_hotfixes = 1
# gpgkey = https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB
gpgkey = https://mirrors.neusoft.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1

更换版本-自行更换源内容

mariadb设置源.png

下载

yum install MariaDB-server MariaDB-client

启动MariaBD

systemctl start mariadb

查看MariaDB状态->看到绿色点表示工作中

systemctl status mariadb

控制台输出MariaDB状态

 mariadb.service - MariaDB 10.4.28 database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/mariadb.service.d
           └─migrated-from-my.cnf-settings.conf
   Active: active (running) since  2023-04-25 10:30:32 CST; 9s ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
  Process: 16655 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 16612 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code=exited, status=0/SUCCESS)
  Process: 16610 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
 Main PID: 16623 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 30
   Memory: 96.1M
   CGroup: /system.slice/mariadb.service
           └─16623 /usr/sbin/mysqld

4 25 10:30:32 VM-16-10-centos mysqld[16623]: 2023-04-25 10:30:32 0 [Note] Server socket created on IP: '::'.
4 25 10:30:32 VM-16-10-centos mysqld[16623]: 2023-04-25 10:30:32 0 [ERROR] Missing system table mysql.roles_mapping; please run m...eate it
4 25 10:30:32 VM-16-10-centos mysqld[16623]: 2023-04-25 10:30:32 0 [ERROR] Incorrect definition of table mysql.event: expected co...','POST
4 25 10:30:32 VM-16-10-centos mysqld[16623]: 2023-04-25 10:30:32 0 [ERROR] mysqld: Event Scheduler: An error occurred when initia...eduler.
4 25 10:30:32 VM-16-10-centos mysqld[16623]: 2023-04-25 10:30:32 6 [Warning] Failed to load slave replication state from table my...t exist
4 25 10:30:32 VM-16-10-centos mysqld[16623]: 2023-04-25 10:30:32 0 [Note] Reading of all Master_info entries succeeded
4 25 10:30:32 VM-16-10-centos mysqld[16623]: 2023-04-25 10:30:32 0 [Note] Added new Master_info '' to hash table
4 25 10:30:32 VM-16-10-centos mysqld[16623]: 2023-04-25 10:30:32 0 [Note] /usr/sbin/mysqld: ready for connections.
4 25 10:30:32 VM-16-10-centos mysqld[16623]: Version: '10.4.28-MariaDB'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MariaDB Server
4 25 10:30:32 VM-16-10-centos systemd[1]: Started MariaDB 10.4.28 database server.
Hint: Some lines were ellipsized, use -l to show in full.

设置MariaDB开机自启动

systemctl enable mariadb

启动MariaDB配置向导

mariadb-secure-installation
#输入密码
 初次运行直接回车
Enter current password for root (enter for none): 
#切换到unix套接字身份验证
  使用套接字登陆就不能远程登陆了 输入n
Switch to unix_socket authentication [Y/n]: n
#设置root密码
  第一次是set 之后都是change
Set root password? [Y/n]  y
#输入root用户的密码
New password: 
#再次输入root用户的密码
Re-enter new password: 
#是否删除匿名用户,回车
Remove anonymous users? [Y/n]  
#是否禁止root远程登录
 按需设置
Disallow root login remotely? [Y/n] 
#是否删除test数据库,回车
Remove test database and access to it? [Y/n] 
#是否重新加载权限表
 回车
Reload privilege tables now? [Y/n]

登录MariaDB 和MySql一样

mysql -uroot -proot

配置root远程可访问

GRANT ALL PRIVILEGES ON *.* TO '登陆名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
#刷新以下
FLUSH PRIVILEGES;

停止MariaDB服务,更改存储路径,拷贝源存储路径到新存储路径

#停止mariadb
systemctl stop mariadb
#创建文件夹
 -p 需要时创建上层目录,如目录早已存在则不当作错误
mkdir -p /data/mariaDB_data
#改变文件的拥有者和群组
 -R 处理指定目录以及其子目录下的所有文件
chown -R mysql:mysql /data/mariaDB_data
#作用为归档复制,常用于备份,相当于cp
 -dr --preserve=all。
cp -a /var/lib/mysql /data/mariaDB_data

修改/etc/my.cnf和/etc/my.cnf.d/server.cnf配置文件

/etc/my.cnf

vim /etc/my.cnf
vim /etc/my.cnf.d/server.cnf

/etc/my.cnf里面是这样就行

[client-server]
#包含/etc/my.cnf.d下的所有文件
!includedir /etc/my.cnf.d

/etc/my.cnf.d/server.cnf增加内容即可

[mysqld]
datadir=/data/mariaDB_data
character_set_server=utf8

授权目录并重新安装使数据目录生效

chown -R mysql:mysql /data/mariaDB_data/
mysql_install_db --defaults-file=/etc/my.cnf --datadir=/data/mariaDB_data/ --user=mysql

重启MariaDB

systemctl restart mariadb