• 004-LNMP之Mysql源码编译安装


    正文:

    搜狐镜像源:http://mirrors.sohu.com/ (推荐,国内源下载速度嗖嗖的)

    //这里有很多常用的镜像,Mysql的源码包也在里面。

    1.Mysql数据库的一些依赖包

    yum -y install gcc gcc-c++ make tar openssl openssl-devel cmake ncurses ncurses-devel

    2.Mysql的编译安装

    # 创建mysql用户去启动数据库进程
    useradd -s /sbin/nologin mysql
    cd /usr/local/src
    tar -zxvf mysql-5.6.39.tar.gz
    cd mysql-5.6.39
    cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=all -DWITH_DEBUG=0 -DWITH_SSL=yes -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1
    make && make install
    cp /usr/local/src/mysql-5.6.39/support-files/mysql.server /etc/init.d/mysqld
    chmod a+x /etc/init.d/mysqld
    

    3.编译参数说明

    # 指定Mysql的安装目录
    CMACK_INSTALL_PREFIX
    # 指定Mysql的数据目录
    MYSQL_DATADIR

    4.Mysql环境变量配置

    export PATH=$PATH:/usr/local/mysql/bin/
    # 将环境变量追加到 /etc/profile
    source /ect/profile
    # 查看环境变量是否生效
    echo $PATH
    

    5.Mysql的启动步骤

    1.更新配置

    2.数据库初始化

    3.启动数据库

    6.更新Mysql配置 /etc/my.cnf

    [mysqld]
    bind-address=0.0.0.0
    port=3306
    datadir=/data/mysql
    user=mysql
    skip-name-resolve
    long_query_time=2
    slow_query_log_file=/data/mysql/mysql-slow.log
    expire_logs_days=2
    innodb_flush_log_at_trx_commit=2
    log_warnings=1
    max_allowed_packet=512M
    connect_timeout=120
    
    [mysqld_safe]
    log_error=/data/mysql/mysqld.log
    pid-file=/data/mysqld/mysqld.pid
    

    7.Mysql数据库初始化

    mkdir -pv /data/mysql
    chown -R mysql:mysql /usr/local/mysql /data/mysql/
    yum install -y perl-Module-Install
    /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --user=mysql --datadir=/data/mysql/
    

    8.使用systemctl管理mysqld

    # 配置文件的路径 
    vi /usr/lib/systemd/systemd/mysqld.service
    
    [Unit]
    Description=mysqld
    After=network.target
    [Service]
    Type=forking
    ExecStart=/etc/init.d/mysqld start
    [Install]
    WantedBy=multi-user.target
    

    9.启动Mysql服务器

    systemctl start mysqld
    

    10.验证Mysql是否启动

    1.查看进程 ps -ef | grep mysql

     2.查看监听 netstat -tunlp | grep mysql

    3.查看日志 cat /data/mysql/mysqld.log

    11.Mysql的安全方式

    1.mysql能限制ip访问、访问需要用户名密码、mysql权限还能细分
    2.默认让127.0.0.1访问,用户名root,不需要密码
    3.mysql -uroot -h 127.0.0.1 -A

    12.Mysql加密码

    # 给mysql数据库root用户添加密码root
    mysqladmin -h 127.0.0.1 -uroot password 'root'
    # 用root密码验证登录
    mysql -h 127.0.0.1 -uroot -proot -A
    

    13.Mysql授权某ip登录,指定用户名

    # 添加192.168.0.X段的ip允许网络访问Mysql数据库
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.0.%' IDENTIFIED BY 'root' WITH GRANT OPTION;
    # 刷新mysql权限的相关表
    flush privileges;
    

    14.网络登录Mysql

    # Mysql数据库服务器地址:192.168.4.99
    # 我用另外一台linux机器:192.168.4.98 网络登录Mysql数据库访问
    mysql -h 192.168.4.99 -uroot -proot -A
    

     

  • 相关阅读:
    三级菜单打怪升级,young -> plus -> pro
    Python注释是什么东东
    腾讯云中的mysql镜像数据定时同步到本机数据库
    linux重复命令的简洁化
    快速查询mysql中每个表的数据量
    MGR与MHA
    mysql基础练习
    mongo日常操作备忘
    MongoDB:删除操作
    MongoDB插入数据的3种方法
  • 原文地址:https://www.cnblogs.com/chenshengkai/p/13223089.html
Copyright © 2020-2023  润新知