参考:https://www.cnblogs.com/lzpong/p/15007882.html
一、yum安装mariadb
配置yum源:
[rocky] name=CentOS-Rocky baseurl=https://mirrors.aliyun.com/centos/7/cloud/x86_64/openstack-rocky/ enable=1 gpgcheck=0 [rocky-extras] name=CentOS-Rocky-extras baseurl=https://mirrors.aliyun.com/centos/7/extras/x86_64/ enable=1 gpgcheck=0 [centos7] name=Centos-7 baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/ enable=1 gpgcheck=0
[root@192-168-43-120 ~]# yum install mariadb mariadb-server python2-PyMySQL -y
二、建立各个实例的文件夹(配置文件和数据目录)
[root@192-168-43-120 data]# mkdir -p /data/mariadb/{13306..13308}/etc
[root@192-168-43-120 data]# mkdir -p /data/mariadb/{13306..13308}/data
三、拷贝配置文件,并修改
[root@192-168-43-120 13306]# cp -Rp /etc/my.cnf* /data/mariadb/13306/etc/
修改13306的配置文件my.cnf
# This group is read both both by the client and the server # use it for options that affect everything # [client-server] # # This group is read by the server # [mysqld] # Disabling symbolic-links is recommended to prevent assorted security risks #symbolic-links=0 port=13306 datadir=/data/mariadb/13306/data socket=/data/mariadb/13306/mysql.socket log-error=/data/mariadb/13306/mariadb.err.log pid-file=/data/mariadb/13306/mariadb.pid # # include all files from the config directory # #!includedir /etc/my.cnf.d
13307,13308配置修改类似
四、修改目录权限
[root@192-168-43-120 ~]# chown -R mysql:mysql /data/mariadb
[root@192-168-43-120 13306]# chmod 755 /data/mariadb/*/etc
五、初始化数据库数据目录,生成数据库相关文件
[root@192-168-43-120 ~]# mysql_install_db --datadir=/data/mariadb/13306/data --user=mysql --basedir=/usr
[root@192-168-43-120 ~]# mysql_install_db --datadir=/data/mariadb/13307/data --user=mysql --basedir=/usr
[root@192-168-43-120 ~]# mysql_install_db --datadir=/data/mariadb/13308/data --user=mysql --basedir=/usr
五、拷贝mariadb.service文件并修改
[root@192-168-43-120 ~]# cp -a /usr/lib/systemd/system/mariadb.service /usr/lib/systemd/system/mariadb-13306.service
[Unit] Description=MariaDB 10.1 database server After=syslog.target After=network.target [Service] Type=notify User=mysql Group=mysql ExecStartPre=/usr/libexec/mysql-check-socket ExecStartPre=/usr/libexec/mysql-prepare-db-dir %n ExecStart=/usr/libexec/mysqld --defaults-file=/data/mariadb/13306/etc/my.cnf --basedir=/usr ExecStartPost=/usr/libexec/mysql-check-upgrade ExecStopPost=/usr/libexec/mysql-wait-stop PrivateNetwork=false KillMode=process KillSignal=SIGTERM SendSIGKILL=no Restart=on-abort RestartSec=5s UMask=007 TimeoutSec=300 PrivateTmp=true [Install] WantedBy=multi-user.target
同理mariadb-13307.service,mariadb-13308.service类似修改
六、启动服务
[root@192-168-43-120 13307]# systemctl daemon-reload
[root@192-168-43-120 13307]# systemctl enable mariadb-13306.service mariadb-13307.service mariadb-13308.service
[root@192-168-43-120 13307]# systemctl start mariadb-13306.service mariadb-13307.service mariadb-13308.service
七、连接登陆,修改密码
[root@192-168-43-120 13307]# mysql -uroot -h127.0.0.1 -P13306
[root@192-168-43-120 13307]# mysqladmin -uroot -S /data/mariadb/13306/mysql.socket password "123456"