标签:设置权限 yum安装 ice 入口 mct vim 数据库文件 查看 结构
MariaDB多实例:centos7.4
yum安装实现。
一个版本mysql通过多个端口实现
规划3个实例的端口:3306/3307/3308。
将各自的配置文件、日志文件、pid、socket单独存放。
[root@tang ~]#yum install mariadb-server
[root@tang ~]#mkdir /mysqldb/{3306,3307,3308}/{etc,socket,pid,log,data} -pv
[root@tang ~]#tree /mysqldb/
/mysqldb/
├── 3306
│ ├── data
│ ├── etc
│ ├── log
│ ├── pid
│ └── socket
├── 3307
│ ├── data
│ ├── etc
│ ├── log
│ ├── pid
│ └── socket
└── 3308
├── data
├── etc
├── log
├── pid
└── socket
由于是yum安装mysql账号已经被创建好了
[root@tang ~]#getent passwd mysql
mysql:x:27:27:MariaDB Server:/var/lib/mysql:/sbin/nologin
[root@tang ~]#chown -R mysql.mysql /mysqldb
[root@tang ~]#mysql_install_db --datadir=/mysqldb/3306/data --user=mysql --basedir=/usr
[root@tang ~]#mysql_install_db --datadir=/mysqldb/3307/data --user=mysql --basedir=/usr
[root@tang ~]#mysql_install_db --datadir=/mysqldb/3308/data --user=mysql --basedir=/usr
根据3个不同的实例准备3个配置文件:
思路:用/etc/my.cnf 当模板:
将配置文件考到各自的文件下:
[root@tang ~]#cp /etc/my.cnf /mysqldb/3306/etc/
[root@tang ~]#cp /etc/my.cnf /mysqldb/3307/etc/
[root@tang ~]#cp /etc/my.cnf /mysqldb/3308/etc/
[root@tang ~]#vim /mysqldb/3306/etc/my.cnf
[mysqld]
port=3306 (手动必须添加)
datadir=/mysqldb/3306/data
socket=/mysqldb/3306/socket/mysql.sock
[mysqld_safe]
log-error=/mysqldb/3306/log/mariadb.log
pid-file=/mysqldb/3306/pid/mariadb.pid
#!includedir /etc/my.cnf.d(注释掉)
==> 端口为3307/3308的配置文件也要手动修改==
参考格式:
[root@tang ~]#cat /usr/lib/systemd/system/mariadb.service
启动的关键命令:
ExecStart=/usr/bin/mysqld_safe --basedir=/usr
停止yum安装的mysql服务防止冲突:
[root@tang ~]#systemctl stop mariadb
将脚本考入对应的目录里:
==> 将脚本分别存个在各自的路径下3306/3307/3308,将prot改为各自的端口号运行。==
[root@tang ~]#rz /mysqldb/3306/mysqld
[root@tang ~]#rz /mysqldb/3307/mysqld
[root@tang ~]#rz /mysqldb/3308/mysqld
==> 将脚本里对应的端口和数据库路径编辑正确==
#!/bin/bash
port=3306
mysql_user="root"
mysql_pwd=""
cmd_path="/usr/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
[root@tang ~]#cp /mysqldb/3306/mysqld /mysqldb/3307/(配置文件端口改为port=3307)
[root@tang ~]#cp /mysqldb/3306/mysqld /mysqldb/3308/(配置文件端口改为port=3308)
密码会放在mysqld目录里所有权限设置的安全一些
[root@tang ~]#chmod 700 /mysqldb/3306/mysqld
[root@tang ~]#chmod 700 /mysqldb/3307/mysqld
[root@tang ~]#chmod 700 /mysqldb/3308/mysqld
[root@tang ~]#/mysqldb/3306/mysqld start
[root@tang ~]#/mysqldb/3307/mysqld start
[root@tang ~]#/mysqldb/3308/mysqld start
[root@tang ~]#ss -ntl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 50 *:3307 *:*
LISTEN 0 50 *:3308 *:*
LISTEN 0 128 *:111 *:*
LISTEN 0 5 192.168.122.1:53 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 128 127.0.0.1:631 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 50 *:3306 *:*
LISTEN 0 128 :::111 :::*
需要用sock文件连接mysql(指定数据库路径连接)
[root@tang ~]#mysql -S /mysqldb/3306/socket/mysql.sock
[root@tang ~]#mysql -S /mysqldb/3307/socket/mysql.sock
[root@tang ~]#mysql -S /mysqldb/3308/socket/mysql.sock
MariaDB [(none)]> show variables like ‘port‘;
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port | 3306 |
+---------------+-------+
[root@tang ~]#mysqladmin -uroot -S /mysqldb/3306/socket/mysql.sock password ‘centos‘
[root@tang ~]#/mysqldb/3306/mysqld stop
Stoping MySQL...
Enter password:
[root@tang ~]#vim /mysqldb/3306/mysqld
mysql_pwd="centos"
这时关闭mysql不需要输入口令
进入mysql需要口令了:
[root@tang ~]#mysql -pcentos -S /mysqldb/3306/socket/mysql.sock
标签:设置权限 yum安装 ice 入口 mct vim 数据库文件 查看 结构
原文地址:http://blog.51cto.com/13574131/2161018