Linux系统下shell脚本实战之mariadb创建数据库和表

Linux系统下shell脚本实战之mariadb创建数据库和表

  • 一、脚本要求
  • 二、环境准备
    • 1.配置yum仓库
    • 2.安装mariadb
    • 3.设置服务自启
    • 4.进入数据库
    • 5.修改数据库root密码
    • 6.设置root远程登录
    • 7.测试远程登录
  • 三、编写shell脚本
  • 四、执行脚本
  • 五、检查运行结果

一、脚本要求

向mariadb数据库创建测试数据库和表

二、环境准备

1.配置yum仓库

# vim /etc/yum.repos.d/mariadb.repo
# MariaDB 10.6 CentOS repository list - created 2021-12-27 11:21 UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
baseurl = https://mirrors.xtom.com.hk/mariadb/yum/10.6/centos7-amd64
gpgkey=https://mirrors.xtom.com.hk/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1

2.安装mariadb

yum -y install mariadb-server

3.设置服务自启

[root@compute-node1 yum.repos.d]# systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
[root@compute-node1 yum.repos.d]# systemctl start mariadb

4.进入数据库

[root@compute-node1 yum.repos.d]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 10.6.8-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 

5.修改数据库root密码

[root@compute-node1 scripts]# mysqladmin -uroot password '123'

6.设置root远程登录

MariaDB [(none)]> GRANT USAGE ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'root' @'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> set password for 'root'@'%'=password('123');
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> 

7.测试远程登录

[root@compute-node1 scripts]# mysql -uroot -p123
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 7
Server version: 10.6.8-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 

三、编写shell脚本

[root@compute-node1 ~]# cd /data/scripts/
[root@compute-node1 scripts]# cat mysql_create.sh 
#!/bin/bash
########################################
#Author:jeven
#time:Thu 30 Jun 2022 18:16:39 PM CST
#filename:mysql_create.sh
#Script description:
########################################
USER=root
PASS=123

mysql -u $USER -p$PASS <<EOF  2> /dev/null
CREATE DATABASE students;
EOF

if [ $? -eq 0 ];then
       echo Create DB
else
       echo DB alreadly exsist
fi
mysql -u $USER -p$PASS students  <<EOF  2> /dev/null
CREATE TABLE students(
id int,
name varchar(100),
mark int,
dept varchar(4)
);
EOF

if [ $? -eq 0 ];then 
   echo Create table students
else
   echo Table alreadly exsist
fi


mysql -u $USER -p$PASS students  <<EOF
DELETE FROM students;
EOF

四、执行脚本

sh ./mysql_create.sh

五、检查运行结果

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| students           |
| sys                |
| test               |
+--------------------+
MariaDB [students]> show tables;
+--------------------+
| Tables_in_students |
+--------------------+
| students           |
+--------------------+
1 row in set (0.000 sec)
MariaDB [students]>  describe students;
+-------+--------------+------+-----+---------+-------+
| Field | Type         | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| id    | int(11)      | YES  |     | NULL    |       |
| name  | varchar(100) | YES  |     | NULL    |       |
| mark  | int(11)      | YES  |     | NULL    |       |
| dept  | varchar(4)   | YES  |     | NULL    |       |
+-------+--------------+------+-----+---------+-------+
4 rows in set (0.001 sec)

你可能感兴趣的:(shell,linux,数据库,mariadb)