MySQL 8.0 OCP认证精讲视频、环境和题库之四 多实例启动

一、配置第一个mysqld服务


    1、编辑选项文件,指定以下选项:
    [mysqld]
        basedir=/mysql80
        datadir=/mysql80/data1
        socket=/mysql80/data1/mysqld.sock
        pid-file=/mysql80/data1/mysqld.pid
        log-error=/mysql80/data1/mysqld.log
    2、初始化
        /mysql80/bin/mysqld --defaults-file=/mysql80/mysqld.cnf --initialize
    3、启动mysqld服务
        /mysql80/bin/mysqld--defaults-file=/mysql80/mysqld.cnf&
    4、查看初始密码,登录,修改出初始密码    
        mysqi -uroot -p'As%&sT9xX/wp' -h127.0.0.1 -P3307
        mysql>alter user user() identifiedby 'Ora_123';
        
    5、创建一个统一的用户,比如 multi_user ,密码相同,并指定shutdown权限
        mysql>create user multi_user@localhost identifiedby 'Ora_123';
        mysql>grant shutdown on *.* to  multi_user@localhost;
    6、 关闭mysqld
        /mysql80/bin/mysqldadmin -u multi_user -h 127.0.0.1 -P 3307 shutdown
    7、 屏蔽掉mysqld选
        #[mysqld]
        #basedir=/mysgl80
        #datadir=/mysql8o/datal
        socket=/mysql80/datal/mysqld.sock
        #pid-file=/mysql80/data1/mysqld.pid
        #log-error=/mysql80/data1/mysqld.log
        #port=3307


二、配置第二个mydqld服务 


    重复上述步骤1-7,指定不同的配置;


三、配置第三个mydqld服务 


    重复上述步骤1-7,指定不同的配置;
    
    #[mysqld]
    #basedir=/mysgl80
    #datadir=/mysql8o/datal
    #socket=/mysql80/datal/mysqld.sock
    #pid-file=/mysql80/data1/mysqld.pid
    #log-error=/mysql80/data1/mysqld.log
    #port=3307
    
    #[mysqld]
    #basedir=/mysql80
    #datadir=/mysql80/data2
    #socket=/mysql80/data2/mysgld.sock
    #pid-file=/mysql80/data2/mysqld.pid
    #log-error=/mysql80/data2/mysqld.log
    #port=3308
    
    #[mysqld]
    #basedir=/mysql80
    #datadir=/mysql80/data3
    #socket=/mysql80/data3/mysgld.sock
    #pid-file=/mysql80/data3/mysqld.pid
    #log-error=/mysql80/data3/mysqld.log
    #port=3309


四、取消前面的#;


    [mysqld]
    basedir=/mysgl80
    datadir=/mysql8o/datal
    socket=/mysql80/datal/mysqld.sock
    pid-file=/mysql80/data1/mysqld.pid
    log-error=/mysql80/data1/mysqld.log
    port=3307
    
    [mysqld]
    basedir=/mysql80
    datadir=/mysql80/data2
    socket=/mysql80/data2/mysgld.sock
    pid-file=/mysql80/data2/mysqld.pid
    log-error=/mysql80/data2/mysqld.log
    port=3308
    
    [mysqld]
    basedir=/mysql80
    datadir=/mysql80/data3
    socket=/mysql80/data3/mysgld.sock
    pid-file=/mysql80/data3/mysqld.pid
    log-error=/mysql80/data3/mysqld.log
    port=3309
    
    [mysql_miti]
     mysqld=/mysql80/bin/mysqld
     mysqladmin=/mysql80/bin/mysqladmin
     user= multi_user


五、修改选项名称

 
    [mysqld1]
    basedir=/mysgl80
    datadir=/mysql8o/datal
    socket=/mysql80/datal/mysqld.sock
    pid-file=/mysql80/data1/mysqld.pid
    log-error=/mysql80/data1/mysqld.log
    port=3307
    
    [mysqld]
    basedir=/mysql80
    datadir=/mysql80/data2
    socket=/mysql80/data2/mysgld.sock
    pid-file=/mysql80/data2/mysqld.pid
    log-error=/mysql80/data2/mysqld.log
    port=3308
    
    [mysqld3]
    basedir=/mysql80
    datadir=/mysql80/data3
    socket=/mysql80/data3/mysgld.sock
    pid-file=/mysql80/data3/mysqld.pid
    log-error=/mysql80/data3/mysqld.log
    port=3309
    
    [mysql_miti]
     mysqld=/mysql80/bin/mysqld
     mysqladmin=/mysql80/bin/mysqladmin
     user= multi_user


六、调用mysqld_multi命令,对多个mysqld服务统一地进行启动,关闭,查看状态 

七、修改bug


     /usr/local/mysql/bin/mysqld_multi有Bug
    # vi /usr/local/mysql/bin/mysqld_multi


    sub defaults_for_group
    {
      my ($group) = @_;

      return () unless $my_print_defaults_exists;

      my $com= join ' ', 'my_print_defaults', @defaults_options, $group;
      my @defaults = `$com`;
      chomp @defaults;
      return @defaults;
    }

    改 my $com= join ' ', 'my_print_defaults -s', @defaults_options, $group;
    

你可能感兴趣的:(my,sql8.0,数据库,ocp,数据库,OCp,mysql8.0,运维开发)