• linux下安装mysql二进制版本(5.6.34)


    版本:社区版 5.6.34

    我这里下载的是mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz
    1.创建mysql用户和用户组
    #groupadd mysql
    #useradd -g mysql mysql
    #passwd mysql

    2.下载解压二进制文件,解压,进入解压出来的文件
    [root@host01 db]# tar -xvf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz
    [root@host01 db]# mv mysql-5.6.34-linux-glibc2.5-x86_64 mysqlmha

    3.在mysqlmha目录下创建如下文件夹
    [mysql@host01 mysqlmha]$ cd /db/mysqlmha
     [mysql@host01 mysqlmha]$ mkdir conf                        ## 配置文件目录
    [mysql@host01 mysqlmha]$ mkdir data                         ##数据文件
    [mysql@host01 mysqlmha]$ mkdir redolog                    ##redo日志文件
    [mysql@host01 mysqlmha]$ mkdir ibdata                      ##ibdata文件
    [mysql@host01 mysqlmha]$ mkdir -p mysqllog/relaylog  ##主从环境relaylog
    [mysql@host01 mysqlmha]$ mkdir -p mysqllog/logfile    ##错误日志文件
    [mysql@host01 mysqlmha]$ mkdir -p mysqllog/binlog    ##binlog文件

    4.创建配置文件
    在conf目录下创建配置文件my.cnf,配置文件内容附后.

    5.更改文件夹mysqlmha的文件所属用户
    [root@host01 db]# chown -R mysql:mysql mysqlmha

    6.安装数据库
    [root@host01 db]#cd /db/mysqlmha/scripts
    [root@host01 db]#./mysql_install_db --user=mysql --basedir=/db/mysqlmha --datadir=/db/mysqlmha/data

    执行该步骤的时候有可能遇到如下错误:
    错误1:
    FATAL ERROR: please install the following Perl modules before executing ./mysql_install_db:
    Data::Dumper
    解决方法:安装autoconf库
    命令:yum -y install autoconf

    错误2:
    -bash: ./mysql_install_db: /usr/bin/perl: bad interpreter: No such file or directory
    貌似提示注释器错误,没有/usr/bin/perl文件或者档案,解决办法(安装perl跟perl-devel即可):
    执行:yum -y install perl perl-devel

    错误3:
    [root@localhost scripts]# ./mysql_install_db --user=mysql --basedir=/opt/mysql5640 --datadir=/opt/mysql5640/data
    Installing MySQL system tables.../opt/mysql5640/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory


    解决办法
    [root@example.com data]# yum install -y libaio


    7.创建软连接
    [root@host01 db]# mkdir -p /usr/local/mysql/bin
    [root@host01 db]# ln -s /db/mysqlmha/bin/mysqld /usr/local/mysql/bin/mysqld 
    [root@host01 db]# chown -R mysql:mysql /usr/local/mysql

    8.启动数据库
    [root@host01 db]#./mysqld_safe --defaults-file=/db/mysqlmha/conf/my.cnf --user=mysql

    9.登陆数据库修改密码

    数据库安装后root账号的初始化密码为空,不需要密码即可登陆数据库,为了安全起见,登陆后立即修改数据库密码
     [root@host01 db]$./mysql -h localhost -u root  -S /db/mysqlmha/data/mysql.sock
    update mysql.user set password=PASSWORD('mysql') where user='root' and host='localhost';
    flush privileges;

    删除用户名或是密码为空的账号
    delete from mysql.user where user='';
    delete from mysql.user where password='';


    10.关闭数据库后重启
    [mysql@host01 bin]$ ./mysqladmin -h localhost -u root -p -S /db/mysqlmha/data/mysql.sock shutdown
    [mysql@host01 bin]$./mysqld_safe --defaults-file=/db/mysqlmha/conf/my.cnf --user=mysql


    11.把mysql加入系统自启动
    [root@host01 ~]# more /etc/rc.local
    #!/bin/sh
    #
    # This script will be executed *after* all the other init scripts.
    # You can put your own initialization stuff in here if you don't
    # want to do the full Sys V style init stuff.


    touch /var/lock/subsys/local
    /db/mysqlmha/bin/mysqld_safe --defaults-file=/db/mysqlmha/conf/my.cnf --user=mysql &


    12. 5.6.34版本有bug,某些表需要重建,点击链接安装部署实施.
    http://blog.chinaunix.net/uid-77311-id-5756660.html

    centos 7自动启另外一种方式:

    1.touch /usr/lib/systemd/system/mysql.service

    2.该文件内容如下:
    [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=/opt/mysql5640/bin/mysqld_safe --defaults-file=/opt/mysql5640/conf/my.cnf --user=mysql
    LimitNOFILE = 5000
    #Restart=on-failure
    #RestartPreventExitStatus=1
    #PrivateTmp=false

    3.通过systemctl启动
    systemctl start mysql

    遇到无法启动的情况下需要做如下操作
    [root@localhost bin]# systemctl start mysql
    Warning: mysql.service changed on disk. Run 'systemctl daemon-reload' to reload units.

    解决办法:
    [root@localhost bin]# systemctl daemon-reload


    4.启用开启自启动
    systemctl enable mysql

    5.查看启动状态
    systemctl status mysql






    my.cnf配置文件内容如下:
    [mysql@host01 conf]$ more my.cnf
    [mysqld]
    port=3306
    server-id=1
    datadir=/db/mysqlmha/data
    socket=/db/mysqlmha/data/mysql.sock
    character-set-server=utf8
    max_connections = 1500
    skip-external-locking
    key_buffer_size=16M
    max_allowed_packet=16M
    myisam_sort_buffer_size=16M
    query_cache_size=32M
    read_buffer_size=2M
    sort_buffer_size=2M
    #table_cache=512
    #thread_cache=20
    #thread_concurrency=4
    interactive_timeout=86400
    wait_timeout=86400
    #log_slow_queries=1
    innodb_file_per_table=1
    #innodb_additional_mem_pool_size=16M
    innodb_buffer_pool_size=128M
    innodb_data_home_dir=/db/mysqlmha/ibdata
    innodb_data_file_path=ibdata1:100M;ibdata2:100M;ibdata3:100M;ibdata4:100M:autoextend
    ##这两个参数可以不用指定,要是指定的话,系统启动后会生成ibdata1,ibdata2..4,包括重新生成ibdata1,数据库刚安装的时候系统信息表全部是保留在ibdata1里的,这样的话,这些系统表就会提示不存在.
    #innodb_file_io_threads=4
    innodb_flush_log_at_trx_commit=2
    innodb_lock_wait_timeout=50
    innodb_log_buffer_size=128M
    innodb_log_file_size=128M
    innodb_log_files_in_group=5
    innodb_log_group_home_dir=/db/mysqlmha/redolog
    innodb_thread_concurrency=8
    log_bin_trust_function_creators=1
    event_scheduler=1
    max_binlog_size=100M
    log-bin=/db/mysqlmha/mysqllog/binlog/binlog.bin
    slow_query_log_file=/db/mysqlmha/mysqllog/logfile/slow-query.log
    long_query_time=1
    log-error=/db/mysqlmha/mysqllog/logfile/mysql-err.log
    binlog_format=mixed
    expire_logs_days=7
    binlog_cache_size=4MB
    skip-host-cache
    skip-name-resolve
    #read-only
    skip-slave-start
    relay-log-index=/db/mysqlmha/mysqllog/relaylog/slave-relay-bin.index
    relay-log=/db/mysqlmha/mysqllog/relaylog/slave-relay
    replicate_wild_ignore_table=mysql.%
    replicate_wild_ignore_table=information_schema.%
    replicate_wild_ignore_table=performance_schema.%  ##主从库都需要配置
    slave_net_timeout=60
    log_slave_updates=1
    ##lower_case_table_names=1
    ##language=/db/mysqlmha/share/english
    lc-messages-dir=/db/mysqlmha/share
    explicit_defaults_for_timestamp=true
    #innodb_stats_persistent=0
    #secure-file-priv=/db/mysqloutput


    [client]
    port=3306
    socket=/db/mysqlmha/data/mysql.sock
    loose-default-character-set = utf8  
    default-character-set=utf8
    [mysql]
    no-auto-rehash
    port=3306
    socket=/db/mysqlmha/data/mysql.sock


    [mysqldump]
    max_allowed_packet=16M



    -- The End --

  • 相关阅读:
    03.分支结构
    02.语言元素
    开博的第一天
    http://mirrors.163.com/centos/7.6.1810/os/x86_64/repodata/repomd.xml: [Errno 14]
    spring boot配置spring-data-jpa的时候报错CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is java.lang.NoSuchMethodError
    开机自动运行exe
    hibernate.QueryException: Legacy-style query parameters (`?`) are no longer supported 问题
    elasticSearch7____BUG
    idea开发web项目${pageContext.request.contextPath}出现错误
    进阶
  • 原文地址:https://www.cnblogs.com/hxlasky/p/12346374.html
Copyright © 2020-2023  润新知