Mariadb安装配置

一 源码二进制安装Mariadb

1.1.1 准备所需用户

[root@mysql-master ~]# useradd -r mysql -s /sbin/nologin
[root@mysql-master ~]# id mysql
uid=996(mysql) gid=994(mysql) 组=994(mysql)

1.1.2 解压创建相应目录

[root@mysql-master ~]# tar xf mariadb-10.2.22-linux-x86_64.tar.gz -C /usr/local/
[root@mysql-master ~]# cd /usr/local/
[root@mysql-master local]# ln -s mariadb-10.2.22-linux-x86_64/ mysql
[root@mysql-master local]# chown -R mysql.mysql mysql/

[root@mysql-master local]# cd mysql/bin/
[root@mysql-master bin]# pwd
/usr/local/mysql/bin
[root@mysql-master bin]# echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
[root@mysql-master bin]# . /etc/profile.d/mysql.sh 

[root@mysql-master bin]# mkdir /data/mysqldb -p
[root@mysql-master bin]# chown -R mysql.mysql /data/mysqldb/
[root@mysql-master bin]# chmod 770 /data/mysqldb/

1.1.3 初始化数据库

[root@mysql-master mysql]# scripts/mysql_install_db --datadir=/data/mysqldb --user=mysql
Installing MariaDB/MySQL system tables in '/data/mysqldb' ...
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system


PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !
To do so, start the server, then issue the following commands:

'./bin/mysqladmin' -u root password 'new-password'
'./bin/mysqladmin' -u root -h mysql-master password 'new-password'

Alternatively you can run:
'./bin/mysql_secure_installation'

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the MariaDB Knowledgebase at http://mariadb.com/kb or the
MySQL manual for more instructions.

You can start the MariaDB daemon with:
cd '.' ; ./bin/mysqld_safe --datadir='/data/mysqldb'

You can test the MariaDB daemon with mysql-test-run.pl
cd './mysql-test' ; perl mysql-test-run.pl

Please report any problems at http://mariadb.org/jira

The latest information about MariaDB is available at http://mariadb.org/.
You can find additional information about the MySQL part at:
http://dev.mysql.com
Consider joining MariaDB's strong and vibrant community:
https://mariadb.org/get-involved/

1.1.4 配置主配置文件,以及启动文件

# 拷贝模板文件
[root@mysql-master support-files]# pwd
/usr/local/mysql/support-files
[root@mysql-master support-files]# cp my-huge.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? y
# 修改数据库存储位置
[root@mysql-master support-files]# vim /etc/my.cnf
[mysqld]
datadir=/data/mysqldb

# 拷贝启动文件
[root@mysql-master support-files]# cp mysql.server /etc/init.d/mysqld
[root@mysql-master support-files]# chkconfig --add mysqld
[root@mysql-master support-files]# chkconfig --list
mysqld         	0:关	1:关	2:开	3:开	4:.5:开	6:关
netconsole     	0:关	1:关	2:关	3:关	4:.5:关	6:关
network        	0:关	1:关	2:开	3:开	4:.5:开	6:关
# 启动服务
[root@mysql-master support-files]# service mysqld start
Starting mysqld (via systemctl):                   [  确定  ]


[root@mysql-master support-files]# ls /data/mysqldb/aria_log.00000001  mysql
aria_log_control   mysql-bin.000001
ib_buffer_pool     mysql-bin.index
ibdata1            mysql-master.err
ib_logfile0        mysql-master.pid
ib_logfile1        performance_schema
ibtmp1             test
multi-master.info

1.1.5 初始化安全配置

[root@mysql-master support-files]# mysql_secure_installation 

二 多实例配置

  2.1.1 创建所需文件夹

mkdir /date/{3307,3308}/{etc,socket,pid,log,data} -p
chown -R mysql.mysql /date/

tree /date
/date
├── 3307
│   ├── data
│   ├── etc
│   ├── log
│   ├── pid
│   └── socket
└── 3308
├── data
├── etc
├── log
├── pid
└── socket

  2.1.2 初始化数据库

/usr/local/mysql/scripts/mysql_install_db --datadir=/date/3307/data/ --user=mysql --basedir=/usr/local/mysql

# basedir获取路径
# mysql -uroot -p123456 -e 'show variables like "basedir"'
+---------------+------------------+
| Variable_name | Value            |
+---------------+------------------+
| basedir       | /usr/local/mysql |
+---------------+------------------+

  2.1.3 创建配置文件

[root@mysql-master ~]# cp /etc/my.cnf /date/3307/etc/
[root@mysql-master ~]# vim /date/3307/etc/my.cnf 
[client]
#password       = your_password
port            = 3307
socket          = /date/3307/socket/mysql.sock
[mysqld]
port            = 3307
datadir=/date/3307/data
socket          = /date/3307/socket/mysql.sock
[mysqld_safe]
log-error=/date/3307/log/mariadb.log
pid-file=/date/3307/pid/mariadb.pid

# 按需修改
[root@mysql-master ~]# cp /date/3307/etc/my.cnf /date/3308/etc/my.cnf

  2.1.4 编辑启动脚本

# cat mysqld 
#!/bin/bash

port=3307
mysql_user="root"
mysql_pwd=""
cmd_path="/usr/local/mysql/bin"
mysql_basedir="/date"
mysql_sock="${mysql_basedir}/${port}/socket/mysql.sock"

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

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

function_restart_mysql() {
    printf "Restart Mysql...
"
    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}
"
esac

  2.1.5 测试

[root@mysql-master 3307]# sh mysqld start
Start Mysql....
[root@mysql-master 3307]# ss -lnt
State       Recv-Q Send-Q                                        Local Address:Port                                                       Peer Address:Port              
LISTEN      0      128                                                       *:111                                                                   *:*                  
LISTEN      0      128                                                       *:22                                                                    *:*                  
LISTEN      0      100                                               127.0.0.1:25                                                                    *:*                  
LISTEN      0      80                                                       :::3306                                                                 :::*                  
LISTEN      0      80                                                       :::3307                                                                 :::*                  
LISTEN      0      128                                                      :::111                                                                  :::*                  
LISTEN      0      128                                                      :::22                                                                   :::*                  
LISTEN      0      100                                                     ::1:25                                                                   :::* 

  

  

   

原文地址:https://www.cnblogs.com/yanshicheng/p/10403850.html