zoukankan      html  css  js  c++  java
  • ceshimd

    二进制安装

    下载解压 MySQL

    链接:MySQL 下载 提取码:bc52

    • 将下载的 mysql 通过文件传输工具移到 /usr/local

    • 解压 : tar -xvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz

    • 删除源码包 : rm -f mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz

    • 修改文件名 : mv mysql-5.7.21-linux-glibc2.12-x86_64/ mysql

    • 进入mysql创建 data 文件夹log 文件夹 : cd mysql/ && mkdir data && mkdir log

    清除历史环境

    [root@bogon mysql]# rpm -qa |grep mariadb
    mariadb-libs-5.5.44-2.el7.centos.x86_64
    
    [root@bogon mysql]# yum remove mariadb-libs.x86_64 -y
    

    创建 mysql 用户组和 mysql 用户

    #查看有没有mysql组
    [root@localhost mysql]# cat /etc/group | grep mysql
    #查看有没有mysql用户
    [root@localhost mysql]# cat /etc/passwd |grep mysql
    #创建mysql用户组
    [root@localhost mysql]# groupadd mysql
    #创建mysql用户并添加到mysql用户组中(//useradd -r参数表示mysql用户是系统用户,不可用于登录系统;第一个mysql是用户组,第二个mysql是用户)
    [root@localhost mysql]# useradd -r -g mysql mysql
    #检查用户组是否创建成功
    [root@localhost mysql]# groups mysql
    mysql : mysql
    

    设置 mysql 目录访问权限,用户组

    #将mysql目录访问权限赋为myql用户
    [root@localhost mysql]# chown -R mysql /usr/local/mysql
    #改变mysql目录的用户组属于mysql组
    [root@localhost mysql]# chgrp -R mysql /usr/local/mysql
    #查看mysql目录下所有的目录及文件夹所属组合用户
    [root@bogon mysql]# cd /usr/local/mysql && ll
    总用量 40
    drwxr-xr-x.  2 mysql mysql  4096 7月  17 11:23 bin
    -rw-r--r--.  1 mysql mysql 17987 12月 28 2017 COPYING
    drwxr-xr-x.  2 mysql mysql     6 7月  19 15:47 data
    drwxr-xr-x.  2 mysql mysql    52 7月  17 11:24 docs
    drwxr-xr-x.  3 mysql mysql  4096 7月  17 11:23 include
    drwxr-xr-x.  5 mysql mysql  4096 7月  17 11:24 lib
    drwxr-xr-x.  2 mysql mysql     6 7月  19 15:47 log
    drwxr-xr-x.  4 mysql mysql    28 7月  17 11:23 man
    -rw-r--r--.  1 mysql mysql  2478 12月 28 2017 README
    drwxr-xr-x. 28 mysql mysql  4096 7月  17 11:24 share
    drwxr-xr-x.  2 mysql mysql    86 7月  17 11:24 support-files
    

    修改环境变量

    #配置环境变量
    [root@bogon mysql]# vim /etc/profile
    export PATH=/usr/local/mysql/bin:$PATH
    #生效配置
    [root@bogon mysql]# source /etc/profile
    #验证mysql
    [root@bogon mysql]# mysql -V
    mysql  Ver 14.14 Distrib 5.7.21, for linux-glibc2.12 (x86_64) using  EditLine wrapper
    

    初始化 mysql

    5.7 版本

    [root@localhost mysql]# cd /usr/local/mysql/ && bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
    2020-02-24T15:20:51.505520Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    2020-02-24T15:21:16.611890Z 0 [Warning] InnoDB: New log files created, LSN=45790
    2020-02-24T15:21:20.895476Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
    2020-02-24T15:21:21.075717Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 4facfa2a-5719-11ea-9d4a-000c291546c6.
    2020-02-24T15:21:21.119139Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
    2020-02-24T15:21:21.162719Z 1 [Note] A temporary password is generated for root@localhost: Rzm%WwopR0yp
    

    可能会报错: bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory

    原因:yum安装的是libnuma.so.1,但安装时默认安装的是32位的,而db2需要的是64位的

    #如果已经安装了libnuma.so.1,先yum remove libnuma.so.1
    yum remove libnuma.so.1
    #安装依赖包
    yum -y install numactl.x86_64
    

    5.6 版本

    [root@localhost mysql]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
    

    配置文件设置

    [root@bogon mysql]# vim /etc/my.cnf
    
    [mysqld]
    user=mysql
    basedir=/usr/local/mysql
    datadir=/usr/local/mysql/data
    server_id=1
    port=3306
    socket=/tmp/mysql.sock
    [mysql]
    socket=/tmp/mysql.sock
    

    配置启动脚本

    cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
    

    启动 mysql

    [root@bogon mysql]# service mysql start
    Starting MySQL.Logging to '/usr/local/mysql/data/bogon.err'.
     SUCCESS!
    
    
    #查看mysql状态
    /etc/init.d/mysql status 或者 service mysql status
    #启动mysql
    /etc/init.d/mysql start 或者 service mysql start
    #停止mysql
    /etc/init.d/mysql stop 或者 service mysql stop
    #重新启动mysql
    /etc/init.d/mysql restart 或者 service mysql restart
    #查看mysql服务说明启动成功
    ps -ef|grep mysql
    

    配置 mysql 到环境变量

    [root@bogon ~]# vi /root/.bash_profile
    
    # .bash_profile
    
    # Get the aliases and functions
    if [ -f ~/.bashrc ]; then
            . ~/.bashrc
    fi
    
    # User specific environment and startup programs
    export MYSQL_HOME=/usr/local/mysql/bin
    PATH=$PATH:$HOME/bin::${MYSQL_HOME}
    
    export PATH
    
    
    #设置环境变量立即生效
    [root@localhost tmp]# source /root/.bash_profile
    

    重置密码

    mysql> ALTER USER USER() IDENTIFIED BY '123';
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> quit;
    Bye
    

    退出使用设置的密码重新登录

    添加远程访问账号

    mysql> grant all privileges on *.* to 'root'@"%" identified by '123';
    Query OK, 0 rows affected, 1 warning (0.01 sec)
    
    mysql> flush privileges;
    Query OK, 0 rows affected (0.02 sec)
    

    开放3306端口

    [root@localhost mysql]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
    success
    [root@localhost mysql]# firewall-cmd --reload
    success
    

    多实例

    准备多个数据日志目录

    [root@bogon /]# mkdir -p /data/330{7,8,9}/data
    [root@bogon /]# mkdir -p /log/330{7,8,9}
    

    准备配置文件

    cat > /data/3307/my.cnf <<EOF
    [mysqld]
    basedir=/usr/local/mysql
    datadir=/data/3307/data
    socket=/tmp/mysql3307.sock
    log_error=/data/3307/mysql.log
    port=3307
    server_id=7
    log_bin=/data/3307/mysql-bin
    EOF
    
    cat > /data/3308/my.cnf <<EOF
    [mysqld]
    basedir=/usr/local/mysql
    datadir=/data/3308/data
    socket=/tmp/mysql3308.sock
    log_error=/data/3308/mysql.log
    port=3308
    server_id=8
    log_bin=/data/3308/mysql-bin
    EOF
    
    cat > /data/3309/my.cnf <<EOF
    [mysqld]
    basedir=/usr/local/mysql
    datadir=/data/3309/data
    socket=/tmp/mysql3309.sock
    log_error=/data/3309/mysql.log
    port=3309
    server_id=9
    log_bin=/data/3309/mysql-bin
    EOF
    

    授权目录权限

    [root@bogon data]# chown -R mysql.mysql /data/* /log/*
    

    将原有配置文件设置为备份文件

    [root@bogon log]# mv /etc/my.cnf /etc/my.cnf.bak
    

    初始化三套数据

    [root@bogon /]# cd /usr/local/mysql/
    
    [root@bogon mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/3307/data
    =/data/3309/data2020-07-19T13:04:19.622157Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    2020-07-19T13:04:19.911293Z 0 [Warning] InnoDB: New log files created, LSN=45790
    2020-07-19T13:04:19.965577Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
    2020-07-19T13:04:20.033509Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 5bdcfe6e-c9c0-11ea-b3cf-000c297d79ef.
    2020-07-19T13:04:20.034703Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
    2020-07-19T13:04:20.038381Z 1 [Note] A temporary password is generated for root@localhost: AyLafdD>7+?U
    [root@bogon mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/3308/data
    2020-07-19T13:04:23.193064Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    2020-07-19T13:04:23.670815Z 0 [Warning] InnoDB: New log files created, LSN=45790
    2020-07-19T13:04:23.744085Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
    2020-07-19T13:04:23.807425Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 5e1cd94b-c9c0-11ea-b528-000c297d79ef.
    2020-07-19T13:04:23.808725Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
    2020-07-19T13:04:23.812885Z 1 [Note] A temporary password is generated for root@localhost: (C+(Inkut6A&
    [root@bogon mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/3309/data
    2020-07-19T13:04:40.336162Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    2020-07-19T13:04:41.433808Z 0 [Warning] InnoDB: New log files created, LSN=45790
    2020-07-19T13:04:41.582865Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
    2020-07-19T13:04:41.643617Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 68be6f77-c9c0-11ea-b64c-000c297d79ef.
    2020-07-19T13:04:41.645015Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
    2020-07-19T13:04:41.646244Z 1 [Note] A temporary password is generated for root@localhost: ew6f;)7b(ygF
    

    systemd 管理多实例

    [root@bogon systemd]# cat > /etc/systemd/system/mysqld3307.service <<EOF
    > [Unit]
    > Description=MySQL Server
    > Documentation=man:mysqld(8)
    > Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
    > After=network.target
    > After=syslog.target
    > [Install]
    > WantedBy=multi-user.target
    > [Service]
    > User=mysql
    > Group=mysql
    > ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/data/3307/my.cnf
    > LimitNOFILE = 5000
    > EOF
    ttp://dev.mysql.com/doc/refman/en/using-systemd.html
    After=network.target
    After=syslog.target
    [Install]
    WantedBy=multi-user.target
    [Service]
    User=mysql
    Group=mysql
    ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/data/3308/my.cnf
    LimitNOFILE = 5000
    E[root@bogon systemd]#
    [root@bogon systemd]# cat > /etc/systemd/system/mysqld3308.service <<EOF
    > [Unit]
    > Description=MySQL Server
    > Documentation=man:mysqld(8)
    > Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
    > After=network.target
    > After=syslog.target
    > [Install]
    > WantedBy=multi-user.target
    > [Service]
    > User=mysql
    > Group=mysql
    > ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/data/3308/my.cnf
    > LimitNOFILE = 5000
    > EOF
    [root@bogon systemd]#
    [root@bogon systemd]# cat > /etc/systemd/system/mysqld3309.service <<EOF
    > [Unit]
    > Description=MySQL Server
    > Documentation=man:mysqld(8)
    > Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
    > After=network.target
    > After=syslog.target
    > [Install]
    > WantedBy=multi-user.target
    > [Service]
    > User=mysql
    > Group=mysql
    > ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/data/3309/my.cnf
    > LimitNOFILE = 5000
    > EOF
    
    

    启动

    [root@bogon system]# systemctl start mysqld3307.service && systemctl start mysqld3308.service && systemctl start mysqld3309.service
    

    验证多实例

    [root@bogon system]# netstat -lnp|grep 330
    tcp6       0      0 :::3307                 :::*                    LISTEN      46793/mysqld
    tcp6       0      0 :::3308                 :::*                    LISTEN      46799/mysqld
    tcp6       0      0 :::3309                 :::*                    LISTEN      46805/mysqld
    unix  2      [ ACC ]     STREAM     LISTENING     176408   46793/mysqld         /tmp/mysql3307.sock
    unix  2      [ ACC ]     STREAM     LISTENING     176411   46805/mysqld         /tmp/mysql3309.sock
    unix  2      [ ACC ]     STREAM     LISTENING     176405   46799/mysqld         /tmp/mysql3308.sock
    
    

    登陆多实例

    #多实例的登录一定要指定特定的socket
    [root@bogon system]# mysql -uroot -p'AyLafdD>7+?U'  -S /tmp/mysql3307.sock
    mysql: [Warning] Using a password on the command line interface can be insecure.
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 3
    Server version: 5.7.21-log
    
    Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    mysql>
    
  • 相关阅读:
    FZU 2098 刻苦的小芳(卡特兰数,动态规划)
    卡特兰数总结
    FZU 1064 教授的测试(卡特兰数,递归)
    HDU 4745 Two Rabbits(区间DP,最长非连续回文子串)
    Java 第十一届 蓝桥杯 省模拟赛 正整数的摆动序列
    Java 第十一届 蓝桥杯 省模拟赛 反倍数
    Java 第十一届 蓝桥杯 省模拟赛 反倍数
    Java 第十一届 蓝桥杯 省模拟赛 反倍数
    Java 第十一届 蓝桥杯 省模拟赛 凯撒密码加密
    Java 第十一届 蓝桥杯 省模拟赛 凯撒密码加密
  • 原文地址:https://www.cnblogs.com/yhq-qhh/p/13497238.html
Copyright © 2011-2022 走看看