MySQL 多实例安装
2018-07-28 06:09:57来源:博客园 阅读 ()
在生产中有时候会遇到一台主机要运行多个MySQL服务器----叫做多实例
下面演示多实例的安装
首先我们规划下
基于二进制安装
1、创建mysql用户
useradd -r -s /sbin/nologin -d /app/mysql -m mysql # #
2、解压下载的二进制mariadb包
tar xvf mariadb-10.2.16-linux-x86_64.tar.gz -C /usr/local/ # #
3、创建软连接
cd /usr/local/ # ln -s mariadb-10.2.16-linux-x86_64/ mysql #
4、修改权限
chown -R root.mysql /usr/local/mysql/ # #
5、环境变量(少了这步也可)
vim /etc/profile.d/mysql.sh # . /etc/profile.d/mysql.sh #
如果你已经二进制安装了mariadb包,可以从以下开始
指定数据库位置并初始化数据库
1、创建规划图上的目录
mkdir /mysqldb/{3306,3307,3308}/{etc,bin,data,pid,socket,log} -pv # #
2、更改主目录mysqldb的属性
chown -R mysql.mysql /mysqldb/ #
3、3306端口
cd /usr/local/mysql/ # scripts/mysql_install_db --datadir=/mysqldb/3306/data --user=mysql #
4、3307端口
scripts/mysql_install_db --datadir=/mysqldb/3307/data --user=mysql #
5、3308端口
scripts/mysql_install_db --datadir=/mysqldb/3308/data --user=mysql #
修改配置文件
1、复制配置文件
cp /etc/my.cnf /mysqldb/3306/etc/ #
2、编辑配置文件
vim /mysqldb/3306/etc/my.cnf #
3、把上面的配置文件当模板传送给3307、3308
cp /mysqldb/3306/etc/my.cnf /mysqldb/3307/etc/ cp /mysqldb/3306/etc/my.cnf /mysqldb/3308/etc/ #
4、更改07、08配置文件的端口
sed -i 's/3306/3307/g' /mysqldb/3307/etc/my.cnf sed -i 's/3306/3308/g' /mysqldb/3308/etc/my.cnf #
启动程序
1、把事先编写的启动脚本复制到06、07、08的bin目录下
cp /root/mysqld /mysqldb/3306/bin/ cp /root/mysqld /mysqldb/3307/bin/ cp /root/mysqld /mysqldb/3308/bin/ #
2、更改7、8的启动脚本进程号为自己的
vim /mysqldb/3307/bin/mysqld #07的改为3307 vim /mysqldb/3308/bin/mysqld #08的改为3308
3、给启动脚本加执行权限
chown +x /mysqldb/3306/bin/mysqld chmod +x /mysqldb/3306/bin/mysqld chmod +x /mysqldb/3307/bin/mysqld chmod +x /mysqldb/3308/bin/mysqld #
4、启动服务脚本
/mysqldb/3306/bin/mysqld start # /mysqldb/3307/bin/mysqld start # /mysqldb/3308/bin/mysqld start
5、ss -ntl查看
数据库加固
1、给数据库root用户加密码
mysqladmin -S /mysqldb/3306/socket/mysql.sock password 'centos' mysqladmin -S /mysqldb/3307/socket/mysql.sock password 'centos' mysqladmin -S /mysqldb/3308/socket/mysql.sock password 'centos'
2、进入数据库删除匿名登陆
mysql -S /mysqldb/3306/socket/mysql.sock -uroot -p #
select user,host from mysql.user; #查看有哪些用户 delete from mysql.user where user=''; #删除匿名用户
OK
exit 重新进入 ,如果不行,就重启下服务
附加启动脚本代码
#!/bin/bash port=3306 mysql_user="root" mysql_pwd="" cmd_path="/usr/local/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
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:gcc编译错误表
下一篇:Linux中逻辑卷的快照与还原
- 安装Zabbix5.0 2020-06-10
- windows10安装配置WSL(Ubuntu) 2020-06-07
- 在已经编译安装好php7场景下 安装php openssl扩展 2020-06-06
- 在已经编译安装好php7场景下安装curl扩展 2020-06-06
- 在已经编译安装好php7场景下,install gd库 with free-type 2020-06-06
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash