首页 > 数据库 > MySQL > 正文

原有MySQL数据库 安置多实例教学

2024-07-24 12:35:45
字体:
来源:转载
供稿:网友
  #mysql安装脚本安装好后
 
  mkdir -v /usr/share/mysql/mysql-files
 
  mkdir -vp /data/mysql_data{1..4}
 
  * 修改 MySQL 二进制包目录的所属用户与所属组
 
  chown root.mysql -R /usr/share/mysql
 
  * 修改 MySQL 多实例数据目录与 数据导入/导出专放目录的所属用户与所属组
 
  chown mysql.mysql -R /usr/share/mysql/mysql-files /data/mysql_data{1..4}
 
  * 配置 MySQL 配置文件
 
  cat>> /etc/multi.cnf<<EOF
 
  [mysqld_multi]
 
  mysqld = /usr/sbin/mysqld
 
  mysqladmin = /usr/bin/mysqladmin
 
  log = /tmp/mysql_multi.log
 
  [mysqld1]
 
  datadir = /data/mysql_data1
 
  socket = /tmp/mysql.sock1
 
  port = 3307
 
  user = mysql
 
  performance_schema = off
 
  innodb_buffer_pool_size = 32M
 
  bind_address = 0.0.0.0
 
  skip-name-resolve = 0
 
  [mysqld2]
 
  datadir = /data/mysql_data2
 
  socket = /tmp/mysql.sock2
 
  port = 3308
 
  user = mysql
 
  performance_schema = off
 
  innodb_buffer_pool_size = 32M
 
  bind_address = 0.0.0.0
 
  skip-name-resolve = 0
 
  [mysqld3]
 
  datadir = /data/mysql_data3
 
  socket = /tmp/mysql.sock3
 
  port = 3309
 
  user = mysql
 
  performance_schema = off
 
  innodb_buffer_pool_size = 32M
 
  bind_address = 0.0.0.0
 
  skip-name-resolve = 0
 
  EOF
 
  * 初始化各个实例 [ 初始化完成后会自带随机密码在输出日志中 ] /var/log/mysqld.log
 
  /usr/sbin/mysqld --initialize --user=mysql  --datadir=/data/mysql_data1
 
  /usr/sbin/mysqld --initialize --user=mysql  --datadir=/data/mysql_data2
 
  /usr/sbin/mysqld --initialize --user=mysql  --datadir=/data/mysql_data3
 
  * 实例开启
 
  mysqld_multi --defaults-extra-file=/etc/multi.cnf start
 
  测试
 
  mysql -uroot -S /tmp/mysql.sock1 -p   密码在初始化的时候会给root随机密码
 
  grep 'temporary password' /var/log/mysqld.log| awk -F: '{print $4}'|awk 'NR==2{print}'
 
  scok2 就将NR==3  
 
  rep 'temporary password' /var/log/mysqld.log| awk -F: '{print $4}'|awk 'NR==3{print}'
 
  依次类推
 
  ALTER USER 'root'@'localhost' IDENTIFIED BY 'abc123';    先改密码
 
  增删点数据对比下另一个实例的内容就可以
 
  create database test3306;
 
  show databases;
 
  默认情况下,mysql只允许本地登录,如果要开启远程连接,则需要修改/etc/mysql/my.conf文件。
 
  一、修改/etc/mysql/my.conf
  找到bind-address = 127.0.0.1这一行
  改为bind-address = 0.0.0.0即可
 
  为需要远程登录的用户赋予权限
  支持root用户允许远程连接mysql数据库
  grant all privileges on *.* to 'root'@'%' identified by 'abc123' with grant option;
  flush privileges;  
 
  use mysql;
 
  select user, host from user;

(编辑:武林网)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表