mariadb的各种安装方式

  • yum仓库安装mariadb
  • MYSQL客户端基本使用
  • 执行安全脚本
  • mysqladmin常用方法
  • 二进制格式安装
  • 先创建mysql用户
  • 把二进制编译文件解压缩到/usr/local/目录下
  • 创建一个软链接,把文件夹指向软链接
  • 把软链接内的文件用户和所属组修改为root
  • 在mysql目录下通过相对路径运行安装脚本,设置数据库存放在/data/mysql目录下,设置用户为mysql
  • 新建文件夹mysql在etc目录下,然后在mysql路径下把support-files/my-huge.cnf拷贝到/etc/mysql下并重命名为my.cnf作为配置文件
  • 把配置文件里的数据库路径指向之前设置的路径
  • 拷贝运行脚本到/etc/init.d/mysql
  • 添加到服务并设置开机启动,然后启动服务
  • 把mysql路径添加到PATH变量里,并保存到脚本,然后执行脚本
  • 最后执行安全脚本
  • 源码编译安装
  • 先做一个逻辑卷给数据库当存储
  • 新建文件/data/mysql,把逻辑卷挂载到这个文件上
  • 创建mysql用户
  • 修改文件所有者所属组
  • 安装环境需要的包
  • 解压缩到当前目录
  • 源码编译安装
  • 准备环境变量
  • 生成数据库文件
  • 准备配置文件
  • 准备启动脚本
  • 启动服务


yum仓库安装mariadb

vim /etc/yum.repos.d/mariadb.repo
[mariadb]
name = MariaDB
baseurl = https://mirrors.tuna.tsinghua.edu.cn/mariadb/yum/10.2/centos7-amd64/
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
yum install MariaDB-server MariaDB-client

MYSQL客户端基本使用

mysql #进入mysql客户端
use mysql 										#切换到mysql数据库
show databases; 								#查看有多少数据库
show tables  									#查看数据库里有多少表
select * from user; 							#查询user表里的所有信息
desc user;  									#查询user表里的列结构
select user host password from user;			#查询user表里的user,host,password三列的数据

执行安全脚本

mysql_secure_installation
Set root password? [Y/n] y  #设置root口令
New password: 
Re-enter new password:

Remove anonymous users? [Y/n] y #删除匿名账户

Disallow root login remotely? [Y/n] y  #不允许root远程登入

Remove test database and access to it? [Y/n] y #删除测试数据库test

Reload privilege tables now? [Y/n] y #立即重读数据库,立即生效

mysqladmin常用方法

mysqladmin ping #判断数据库是否活跃
mysqladmin password 123456  #修改默认账户root的密码为123456
mysqladmin -uroot -p123456 password linux123  #当用户有密码的时候需要输入原密码才能设置新密码
mysqladmin -uroot –p123456 create testdb  #创建数据库名字叫testdb
mysqladmin -uroot -p123456 drop testdb  #删除数据库testdb
vim /etc/my.cnf
 [mysqld]
 skip-networking=1   #关闭网络连接,只侦听本地客户端,常用于单机维护

二进制格式安装

先创建mysql用户

useradd -r -s /sbim/nologin  -d /data/mysql mysql

把二进制编译文件解压缩到/usr/local/目录下

tar xvf mariadb-10.2.32-linux-x86_64.tar.gz -C /usr/local/

创建一个软链接,把文件夹指向软链接

ln -s mariadb-10.2.32-linux-x86_64/ mysql

把软链接内的文件用户和所属组修改为root

chown -R root.root mysql/

在mysql目录下通过相对路径运行安装脚本,设置数据库存放在/data/mysql目录下,设置用户为mysql

scripts/mysql_install_db --datadir=/data/mysql --user=mysql

新建文件夹mysql在etc目录下,然后在mysql路径下把support-files/my-huge.cnf拷贝到/etc/mysql下并重命名为my.cnf作为配置文件

mkdir /etc/mysql/
cp support-files/my-huge.cnf /etc/mysql/my.cnf

把配置文件里的数据库路径指向之前设置的路径

vim /etc/mysql/my.cnf
datadir=/data/mysql

拷贝运行脚本到/etc/init.d/mysql

cp support-files/mysql.server /etc/init.d/mysqld

添加到服务并设置开机启动,然后启动服务

chkconfig --add mysqld
service mysqld start

把mysql路径添加到PATH变量里,并保存到脚本,然后执行脚本

echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh

最后执行安全脚本

mysql_secure_installation
Set root password? [Y/n] y  #设置root口令
New password: 
Re-enter new password:

Remove anonymous users? [Y/n] y #删除匿名账户

Disallow root login remotely? [Y/n] y  #不允许root远程登入

Remove test database and access to it? [Y/n] y #删除测试数据库test

Reload privilege tables now? [Y/n] y #立即重读数据库,立即生效

源码编译安装

先做一个逻辑卷给数据库当存储

fdisk /dev/sda  #创建一个新的分区给数据库
partprobe  #让新建的分区生效
pvcreate /dev/sda6  #创建物理卷
vgcreate vg0 /dev/sda6 -s 16M  #创建卷组,16M为一个PE
lvcreate -n mysql -l 100%free vg0  #创建逻辑卷,名称为mysql,卷组是vg0,空间是卷组的100%
mkfs.xfs /dev/vg0/mysql #格式化逻辑卷,生成文件系统

新建文件/data/mysql,把逻辑卷挂载到这个文件上

mkdir /data/mysql
vim /etc/fstab
UUID=03be9a5a-8fd9-4663-8def-8fc4c8ec0838 /data/mysql        xfs     defaults        0 0
mount -a

创建mysql用户

useradd -r -s /sbim/nologin  -d /data/mysql mysql

修改文件所有者所属组

chown mysql.mysql /data/mysql/

安装环境需要的包

yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c++ cmake ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel

解压缩到当前目录

tar xf mariadb-10.2.32.tar.gz

源码编译安装

cmake . \
-DCMAKE_INSTALL_PREFIX=/app/mysql \
-DMYSQL_DATADIR=/data/mysql/ \
-DSYSCONFDIR=/etc/ \
-DMYSQL_USER=mysql \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITHOUT_MROONGA_STORAGE_ENGINE=1 \
-DWITH_DEBUG=0 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci


make && make install

准备环境变量

echo 'PATH=/app/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh

生成数据库文件

cd /app/mysql/
scripts/mysql_install_db --datadir=/data/mysql/ --user=mysql

准备配置文件

cp /app/mysql/support-files/my-huge.cnf /etc/my.cnf

准备启动脚本

cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld

启动服务

chkconfig --add mysqld ;service mysqld start