mysqld_multi部署mysql单机多实例
2016-08-19 16:22 abce 阅读(489) 评论(0) 编辑 收藏 举报1.安装gcc-c++、ncurses依赖包
1 | # yum install gcc-c++ ncurses-devel |
2.安装cmake,用来编译mysql
1 2 3 4 5 6 7 8 | # tar -xvf cmake-3.2.0-.tar.gz # mv cmake-3.2.0 cmake # mv cmake /tmp/ # cd /tmp/cmake/ # ./bootstrap # make # make install # cmake --version |
3.安装bison
1 2 3 4 5 6 7 8 | # tar -xvf bison-3.0.tar.gz # mv bison-3.0 bison # mv bison /tmp # cd /tmp/bison/ # ./cofigure # make # make install # bison --version |
4.创建mysql用户
1 2 | # /usr/sbin/groupadd mysql # useradd -s /sbin/nologin -g mysql -M mysql |
5.编译安装
配置
1 2 3 4 5 6 7 8 9 10 11 | # cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_UNIX_ADDR= /tmp/mysqld .sock \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DEXTRA_CHARSETS=all \ -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DENABLED_LOCAL_INFILE=1 \ -DMYSQL_TCP_PORT=3306 \ -DMYSQL_USER=mysql \ |
生成可执行文件
1 | # make |
安装
1 | # make install |
6.创建多实例的数据文件目录
1 | # mkdir -p /data/{3306,3307}/data/ |
7.初始化数据库,创建基础的数据库文件
1 2 3 | # cd /usr/local/mysql/scripts/ #./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/3306/data/ #./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/3307/data/ |
8.配置多实例的文件权限
授权mysql用户和组管理多实例目录/data
1 | # chown -R mysql.mysql /data |
9.配置多实例的配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | # vim /etc/my.cnf [mysqld_multi] mysqld = /usr/local/mysql/bin/mysqld_safe mysqladmin = /usr/local/mysql/bin/mysqladmin user = multi_admin password = multipass [mysqld3306] socket = /data/3306/data/mysql .sock port = 3306 log-error = /data/3306/data/mysql .err datadir = /data/3306/data/ pid- file = /data/3306/data/mysql .pid log-bin = /data/3306/data/mysql-bin relay_log = /data/3306/data/relay-bin slow_query_log_file = /data/3306/data/slowquery .log general_log_file = /data/3306/data/general .log user = mysql [mysqld3307] socket = /data/3307/data/mysql .sock port = 3307 log-error = /data/3307/data/mysql .err datadir = /data/3307/data/ pid- file = /data/3307/data/mysql .pid log-bin = /data/3307/data/mysql-bin relay_log = /data/3307/data/relay-bin slow_query_log_file = /data/3307/data/slowquery .log general_log_file = /data/3307/data/general .log user = mysql |
10.配置mysql命令的环境变量
1 2 | # echo 'export PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile # source /etc/profile |
11.启动
查看状态
1 2 3 4 | # mysqld_multi --defaults-extra-file=/etc/my.cnf report Reporting MySQL servers MySQL server from group: mysqld3306 is not running MySQL server from group: mysqld3307 is not running |
启动实例
1 2 3 4 5 | # mysqld_multi start # mysqld_multi --defaults-extra-file=/etc/my.cnf report Reporting MySQL servers MySQL server from group: mysqld3306 is running MySQL server from group: mysqld3307 is running |
12.修改的root用户的密码并且限制只能本机登陆
1 2 | # mysqladmin -S /data/3306/data/mysql.sock -u root -h 'localhost' password 'XXXXXXXX' # mysqladmin -S /data/3307/data/mysql.sock -u root -h 'localhost' password 'XXXXXXXX' |
13.使用root用户登陆
1 2 | # mysql -S /data/3306/data/mysql.sock -u root -p # mysql -S /data/3307/data/mysql.sock -u root -p |
14.创建关闭实例的用户
1 2 | mysql> CREATE USER 'multi_admin' @ 'localhost' IDENTIFIED BY 'multipass' ; mysql> GRANT SHUTDOWN ON *.* TO 'multi_admin' @ 'localhost' ; |
14.停止实例
停止所有实例
1 | # mysqld_multi stop |
停止实例1
1 | # mysqld_mulit stop 3306 |
管理多实例的话可以使用mysqlmanager实例管理器,管理器来会比较方面
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)