zoukankan      html  css  js  c++  java
  • 安装MYSQL到CentOS(YUM)

    运行环境

    系统版本:CentOS Linux release 7.3.1611 (Core)
    软件版本:MYSQL-5.7
    硬件要求:无

    安装过程

    1、基础配置

    [root@localhost ~]# systemctl stop firewalld
    [root@localhost ~]# systemctl disable firewalld
    [root@localhost ~]# setenforce 0
    [root@localhost ~]# vim /etc/sysconfig/selinux
    SELINUX=disabled
    

    2、安装YUM-MYSQL存储库

    YUM-MYSQL存储库由MYSQL官网提供。

    [root@localhost ~]# rpm -i https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm
    

    3、安装MYSQL

    [root@localhost ~]# yum -y install mysql-community-server
    

    4、创建一个数据库实例,创建相关目录并授权

    [root@localhost ~]# mkdir -p /data/mysql/data
    [root@localhost ~]# mkdir -p /data/mysql/binlog
    [root@localhost ~]# mkdir -p /data/mysql/relaylog
    [root@localhost ~]# mkdir -p /data/mysql/log
    [root@localhost ~]# chown -R mysql.mysql /data/mysql
    

    5、创建一个数据库实例,创建配置文件

    下面是一份经过性能优化的配置文件。
    不了解的情况下我们只需要关注几个简单的基础配置即可。

    [root@localhost ~]# vim /data/mysql/my.cnf
    [mysqld]
    ### basic ###
    user = mysql
    # 运行用户
    server_id = 1
    # 主机ID
    bind-address = 0.0.0.0
    # 监听地址
    port = 43306
    # 监听端口
    pid-file = /data/mysql/mysqld.pid
    # 进程文件存放路径
    socket = /data/mysql/mysqld.sock
    # 套接字文件存放路径
    datadir = /data/mysql/data
    # 数据存储目录路径
    default_storage_engine = InnoDB
    # 数据库使用的默认存储引擎
    # explicit_defaults_for_timestamp = true
    symbolic-links = 0
    
    ### skip password ###
    skip-grant-tables = false
    
    ### errorlog ###
    log_error = /data/mysql/log/error.log
    # 错误日志文件存储路径
    
    ### binlog ###
    log-bin = /data/mysql/binlog/mysql-bin
    # 开启二进制日志文件功能,设置二进制日志文件目录存储路径
    log_bin_index = /data/mysql/binlog/mysql-bin.index
    # 二进制日志文件列表索引文件存放路径
    binlog_cache_size = 4MB
    max_binlog_size = 200MB
    # log_bin_trust_function_creators = 1
    # expire_logs_days = 30
    
    ### relaylog ###
    relay-log = /data/mysql/relaylog/mysql-relay-bin
    relay_log_index = /data/mysql/relaylog/mysql-relay-bin.index
    
    ### slowlog ###
    slow_query_log = ON
    slow_query_log_file = /data/mysql/log/slow.log
    long_query_time = 10
    
    ### network ###
    back_log = 512
    max_allowed_packet = 64MB
    max_connections = 1024
    max_connect_errors = 100
    
    ### buffer ###
    # join_buffer_size = 1MB
    # read_buffer_size = 1MB
    # read_rnd_buffer_size = 1MB
    # sort_buffer_size = 1MB
    
    ### query_cache ###
    query_cache_type = ON
    query_cache_size = 256MB
    table_open_cache = 10000
    thread_cache_size = 64
    
    ### innodb ###
    innodb_log_group_home_dir = /data/mysql/data
    innodb_data_home_dir = /data/mysql/data
    innodb_data_file_path = ibdata1:1G:autoextend
    # innodb_buffer_pool_size = 2GB
    # innodb_buffer_pool_instances = 1
    innodb_flush_method = O_DIRECT
    innodb_flush_log_at_trx_commit = 2
    innodb_log_file_size = 2GB
    innodb_log_files_in_group = 2
    innodb_log_buffer_size = 16MB
    innodb_read_io_threads = 4
    innodb_write_io_threads = 4
    innodb_lock_wait_timeout = 60
    innodb_thread_concurrency = 4
    innodb_open_files = 65535
    open-files-limit = 65535
    
    [root@localhost ~]# vim /etc/my.cnf
    [mysql]
    socket = /data/mysql/mysqld.sock
     
    [mysqladmin]
    socket = /data/mysql/mysqld.sock
     
    [mysqldump]
    socket = /data/mysql/mysqld.sock
    

    6、创建一个数据库实例,初始化

    初次运行,我们需要初始化数据库实例,生成基础数据库。

    [root@localhost ~]# mysqld --defaults-file=/data/mysql/my.cnf --initialize
    

    7、创建一个数据库实例,修改系统服务控制

    将数据库实例服务交由系统管理工具“systemctl”托管。

    [root@localhost ~]# vim /lib/systemd/system/mysqld.service
    [Unit]
    Description=MySQL Community Server
    After=network.target
     
    [Install]
    WantedBy=multi-user.target
     
    [Service]
    User=mysql
    Group=mysql
    Type=forking
    PermissionsStartOnly=true
    PIDFile=/data/mysql/mysqld.pid
    #ExecStartPre=/usr/share/mysql/mysql-systemd-start pre
    ExecStart=/usr/sbin/mysqld --defaults-file=/data/mysql/my.cnf --daemonize
    TimeoutSec=600
    LimitNOFILE = 65535
    Restart=on-failure
    RestartPreventExitStatus=1
    RuntimeDirectory=mysqld
    RuntimeDirectoryMode=755
    

    8、创建一个数据库实例,启动服务

    [root@localhost ~]# systemctl daemon-reload
    [root@localhost ~]# systemctl start mysqld
    [root@localhost ~]# netstat -lnupt  |grep mysqld
    tcp        0      0 0.0.0.0:43306           0.0.0.0:*               LISTEN      11748/mysqld
    

    9、创建一个数据库实例,重置超级管理员密码

    我们需要通过错误日志获取初始化时生成的临时密码。
    密码必须符合复杂性要求,需要字母大小写+数字+特殊符号。

    [root@localhost ~]# cat /data/mysql/log/error.log |grep password
    2019-05-06T01:41:01.728543Z 1 [Note] A temporary password is generated for root@localhost: eAywyZq/?0!g
    [root@localhost ~]# mysqladmin -uroot -p'eAywyZq/?0!g' password 'ABCabc-123'
    

    10、访问测试

    [root@localhost ~]# mysql -uroot -p'ABCabc-123' -A
    mysql> 
    
    乐在分享!~~
  • 相关阅读:
    12.2 ROS NavFn全局规划源码解读_2
    12.1 ROS NavFn全局规划源码_1
    12 ROS Movebase主体源码解读
    11 ROS 动态参数调节
    10. ROS costmap代价地图
    无人驾驶汽车1: 基于Frenet优化轨迹的无人车动作规划方法
    VC下加载JPG/GIF/PNG图片的两种方法
    vc++加载透明png图片方法-GDI+和CImage两种
    供CImage类显示的半透明PNG文件处理方法
    使用MFC CImage类绘制PNG图片时遇到的问题
  • 原文地址:https://www.cnblogs.com/network-ren/p/12377497.html
Copyright © 2011-2022 走看看