欢迎投稿

今日深度:

mariadb的yum、二进制、以及编译安装---包含多实体的实现,mariadbyum

mariadb的yum、二进制、以及编译安装---包含多实体的实现,mariadbyum


yum安装mariadb
centos6
# MariaDB 10.3 CentOS repository list - created 2018-06-05 06:35 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

yum info mariadb
yum install mysql-sever
chkconfig --list mysqld
chkconfig mysqld start 
service mysqld start
ss -ntl
3306
rpm -ql /usr/bin/mysql
rpm -qf /usr/bin/mysql
mysql
help
show databases 查看当前所有数据库列表
system 可以执行shell命令
system hostname
\! ls /data
status 系统状态信息
use mysql 指定操作数据库:mysql
quit 退出

centos7
# MariaDB 10.3 CentOS repository list - created 2018-06-05 06:33 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

yum install mariadb-server
systemctl start mariadb
ss -utln
3306
pstree -p 单进程多线程
mysql
\s
/var/lib/mysql/mysql.socket
show databases
/var/lib/mysql/ 存放数据库路径
show tables
select * from user\G
drop databases mysql 删数据库
mysql_secure_installation
mysql -uroot -p
centos
mysql -uroot -pcentos -192.168.30.7
promt \u@[\D] \r:\m:\s->
ls /etc/my.cnf.d/mysql-clients.cnf
[mysql]
promt \u@[\D] \r:\m:\s
cat /etc/my.cnf
/usr/libexce/mysqld 
-----------------------------------------------------------


-----------------------------------------------------------
通用二进制格式安装mariadb过程
第一步:下载文件
https://downloads.mariadb.org/mariadb/10.2.15/
mariadb-10.2.15-linux-x86_64.tar.gz

第二步:创建mysql系统账号
useradd -r -d /data/mysqldb -s /sbin/nologin mysql
id mysql 

第三步:解压缩文件到默认安装路径
安装包默认路径:configusre --prefix=/usr/local
tar xvf  mariadb-10.2.15-linux-x86_64.tar.gz -C /usr/local
cd /usr/local

第四步:修改文件权限
cd /usr/local
ln -s mariadb-10.2.15-linux-x86_64/ mysql 
ll mysql/
chown -R root:root mysql/

第五步:修改PATH变量,方便mysql目录下的二进制程序执行
ls /usr/local/mysql/bin
echo PATH=/usr/local/mysql/bin:$PATH > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh
echo $PATH

第六步:创建数据库路径
建议:单独用一块硬盘做成逻辑卷存放数据库
echo '- - -' > /sys/class/scsi_host/host2/scan
pvcreate /dev/sdb
vgcreate vg0 /dev/sdb
lvcreate -n lv_mysql -l 100%FREE vg0
lvs
mkfs.xfs /dev/vg0/lvcreate
blkid
mkdir /data/
vim /etc/fstab
r! blkid /dev/vg0/lv_mysql
UUID=    /data/   xfs defaults 0 0
mount -a 
-----------------------------------------------------------
mkdir /data/mysqldb
chown mysql.mysql /data/mysqldb
chmod 770 /data/mysqldb

第七步:生成系统自带数据相关文件
cd /usr/local/mysql  # 切记!必须在此目录下执行
scripts/mysql_install_db --datadir=/data/mysqldb --user=mysql
ll ./support-files/  # 确认相关文件是否生成

第八步:生成mysql配置文件
ll /usr/local/mysql/support-files/
cat /usr/local/mysql/support-files/my-samll.cnf
cp /etc/my.cnf{,.bak}  # 备份/etc/my.cnf 
cp ./support-files/my-huge.cnf /etc/my.cnf  # 拷贝模板/usr/local/mysql/support-files/my-huge.cnf覆盖/etc/my.cnf 
vim /etc/my.cnf
[mysqldb]
datadir = /data/mysqldb  # 再配置文件/etc/my.cnf中添加此行,指定数据库存放路径

第九步:添加mysql到服务
rpm -ql mysql-server
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --list
service mysqld start 
ss -ntul
3306

第十步:添加安全加固
mysql_secure_installation 
service mysqld restart 
ss -ntul
3306
-----------------------------------------------------------


-----------------------------------------------------------
方法三:编译安装MariaDB 10.2.15
第一步:下载文件
mariadb-10.2.15.tar.gz

第二步:安装相关依赖包
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
提示:如果出错,执行rm -f CMakeCache.txt

第三步:创建系统用户mysql
useradd -r -s /sbin/nologin -m -d /data/mysqldb mysql

第四步:解压缩源码包
tar -xvf mariadb-10.2.15.tar.gz

第五步:创建数据库路径
mkdir /data/mysqldb
chown mysql.mysql /data/mysqldb
chmod 770 /data/mysqldb

第六步:cmake编译安装源码
cd mariadb-10.2.15/ 
编译选项: 
https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html 
-----------------------------------------------------------
cmake . -DCMAKE_INSTALL_PREFIX=/app/mysql  -DMYSQL_DATADIR=/data/mysqldb/  -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=/app/mysql/mysql.sock  -DDEFAULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci
make -j 4 && make install

第七部:准备环境变量
echo "PATH=/app/mysql/bin:$PATH" > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh
echo $PATH

第八步:生成数据库文件
cd /app/mysql/
scripts/mysql_install_db --datadir=/data/mysqldb --user=mysql --basedir=/app/mysql
setfacl -R -m u:mysql:rwx /app/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
-----------------------------------------------------------


-----------------------------------------------------------
MySQL的多实例配置
​在一台物理机中需要多个测试环境,那么就需要用到了搭建数据库的多个实例,多个实例的意思就是运行多份程序,实例与实例之间没有影响。要注意监听的端口需要不同。
环境:CentOS7.5,编译安装MariaDB-10.2.15版本,软件安装目录:/app/mysql/

第一步:创建运行的目录环境
mkdir -p /mysqldb/{3306,3307,3308}/{etc,socket,pid,log,data,bin}
chown -R mysql:mysql /mysqldb/

第二步:初始化数据库
cd /app/mysql/
scripts/mysql_install_db --datadir=/mysqldb/3306/data/ --user=mysql --basedir=/app/mysql
scripts/mysql_install_db --datadir=/mysqldb/3307/data/ --user=mysql --basedir=/app/mysql
scripts/mysql-install_db --datadir=/mysqldb/3308/data/ --user=mysql --basedir=/app/mysql
# 以上是编译安装的,安装目录为/app/mysql/,需要先进入软件的安装目录然后执行初始化脚本,如果是yum安装的包,则直接运行mysql_install_db命令即可

第三步:提供配置文件并按需修改
cp support-files/my-huge.cnf /mysqldb/3306/etc/my.cnf
cp support-files/my-huge.cnf /mysqldb/3307/etc/my.cnf
cp support-files/my-huge.cnf /mysqldb/3308/etc/my.cnf

cd /mysqldb
vim 3306/etc/my.cnf
[mysqld]
port         = 3306
datadir      = /mysqldb/3306/data
socket       = /mysqldb/3306/socket/mysql.sock
vim 3307/etc/my.cnf # 按以上配置示例更改
vim 3308/etc/my.cnf 

第四步:提供服务启动脚本
cat mysqld  #脚本示例
#!/bin/bash

port=3306  #需要修改为当前实例的端口号
mysql_user="root"
mysql_pwd=""
cmd_path="/app/mysql/bin"  #安装目录下的bin
mysql_basedir="/mysqldb"  #实例数据库文件所在目录
mysql_sock="${mysql_basedir}/${port}/socket/mysql.sock"


function_start_mysql()
{
    if [ ! -e "$mysql_sock" ];then
      printf "Starting MySQL...\n"
      ${cmd_path}/mysqld_safe --defaults-file=${mysql_basedir}/${port}/etc/my.cnf  &> /dev/null  &
    else
      printf "MySQL is running...\n"
      exit
    fi
}

function_stop_mysql()
{
    if [ ! -e "$mysql_sock" ];then
       printf "MySQL is stopped...\n"
       exit
    else
       printf "Stoping MySQL...\n"
       ${cmd_path}/mysqladmin -u ${mysql_user} -p${mysql_pwd} -S ${mysql_sock} shutdown
   fi
}

function_restart_mysql()
{
    printf "Restarting MySQL...\n"
    function_stop_mysql
    sleep 2
    function_start_mysql
}

case $1 in
start)
    function_start_mysql
;;
stop)
    function_stop_mysql
;;
restart)
    function_restart_mysql
;;
*)
    printf "Usage: ${mysql_basedir}/${port}/bin/mysqld {start|stop|restart}\n"
esac

cp mysqld /mysqldb/3306/bin/
cp mysqld /mysqldb/3307/bin/
cp mysqld /mysqldb/3308/bin/
vim /mysqldb/3306/bin/mysqld
port=3306
vim /mysqldb/3307/bin/mysqld
port=3307
vim /mysqldb/3308/bin/mysqld
port=3308

第五步:修改脚本文件权限,防止密码被别人看见
chmod 700 /mysqldb/3306/bin/mysqld
chmod 700 /mysqldb/3307/bin/mysqld
chmod 700 /mysqldb/3308/bin/mysqld

​第六步:启动服务
service mysqld stop  #保证自己原来的服务停止,释放3306端口
/mysqldb/3306/bin/mysqld start  #启动服务
/mysqldb/3307/bin/mysqld start
/mysqldb/3308/bin/mysqld start
ss -tnl  #如果看到三个实例监听的端口都打开后说明服务启动正常
LISTEN 0 80 :::3306 :::*
LISTEN 0 80 :::3307 :::*
LISTEN 0 80 :::3308 :::*

第七步:连接测试
mysql -S /mysqldb/3306/socket/mysql.sock  #使用-S指定套接字文件
Server version: 10.2.15-MariaDB-log Source distribution
MariaDB [(none)]> show variables like '%port';  #查看端口是否是3306
+---------------------+-------+
|   Variable_name  | Value |
+---------------------+-------+
|    extra_port   | 0   |
| large_files_support | ON.  |

|      port     |.3306. |

|    report_port.  | 3306 .|
+---------------------+-------+
4 rows in set (0.00 sec)

mysql -S /mysqldb/3307/socket/mysql.sock  #再连接测试一下3307和3308
Server version: 10.2.15-MariaDB-log Source distribution
MariaDB [(none)]> show variables like '%port';
+---------------------+--------+
|   Variable_name  | Value. |
+---------------------+--------+
|    extra_port   | 0    |
| large_files_support | ON   |
|     port      | 3307  |
|   report_port   | 3307  |
+---------------------+--------+
4 rows in set (0.00 sec)

mysql -S /mysqldb/3308/socket/mysql.sock
Server version: 10.2.15-MariaDB-log Source distribution
MariaDB [(none)]> show variables like '%port';
+---------------------+-------+
|   Variable_name  | Value |
+---------------------+-------+
|  extra_port     | 0..  |
| large_files_support | ON.  |
|  port         | 3308. |
|  report_port.    | 3308. |
+---------------------+-------+
4 rows in set (0.00 sec)
多实例搭建成功!

​第八步:使用这条命令来停止实例
/mysqldb/3306/bin/mysqld stop

最后一步:给root用户加个密码把~
mysql -S /mysqldb/3307/socket/mysql.sock 
Server version: 10.2.15-MariaDB-log Source distribution

MariaDB [(none)]> update mysql.user set password=PASSWORD("your_password") where user='root';
Query OK, 4 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> select user,host,password from mysql.user;
+------+------------+-------------------------------------------+
| user |  host   |            passw
ord           |+------+------------+-------------------------------------------+
| root | localhost. | *9E72259BA9214F692A85B240647C4D95B0F2E08B |
| root | centos7  
| *9E72259BA9214F692A85B240647C4D95B0F2E08B || root | 127.0.0.1. | *9E72259BA9214F692A85B240647C4D95B0F2E08B |
| root |        | *9E72259BA9214F692A85B240647C4D95B0F2E08B |
|    | localhosbt |                            .|
|    | centos7.  |                            .|
+------+------------+-------------------------------------------+
6 rows in set (0.00 sec)

mysql -S /mysqldb/3307/socket/mysql.sock -uroot -p'your_password' #指定密码,再次登录OK~


www.htsjk.Com true http://www.htsjk.com/mariadb/31728.html NewsArticle mariadb的yum、二进制、以及编译安装---包含多实体的实现,mariadbyum yum安装mariadb centos6 # MariaDB 10.3 CentOS repository list - created 2018-06-05 06:35 UTC # http://downloads.mariadb.org/mariadb/repositories/ [maria...
相关文章
    暂无相关文章
评论暂时关闭