Linux 安装mysql 看这一篇就够了

mysql 安装教程

下载地址:https://downloads.mysql.com

  1. 查看系统中默认的mysql 依赖

    rpm -qa | grep mysql
    rpm -qa | grep mariadb
    rpm -e --nodeps ....
    
  2. 修改hosts 文件

    vi /etc/hosts
    192.168.188.130  itchaodb01
    ping itchaodb01
    
  3. 创建目录

    mkdir -p /mysql/app
    mkdir -p /mysql/data/3306
    mkdir -p /mysql/log/3306
    
  4. 安装mysql

    yum -y install wget
    tar -xvf ......
    mv ..... app
    
  5. 添加用户

    // 查看当前mysql是否有用户
    id mysql 
    // 删除用户
    userdel mysql
    创建用户组
    groupadd mysql
    // 创建用户
    useradd -r -g mysql -s /bin/false mysql
    // 授权
    chown -R mysql:mysql /mysql // 授权
    
    
  6. mysql添加环境变量

    // MySQL 目录下
    cd bin
    // MySQL所有的执行文件都在这个目录中,把它加到环境变量中去
    vi ~/.bash_profile
    // 文件中修改path
    PATH=$PATH:/mysql/app/mysql/bin:$HOME/bin
    // 退出重新登陆 查看mysql位置,如果有则MySQL添加到环境变量中去了 
    which mysql  
    
  7. 配置参数文件

    vim mysql/data/3306/my.cnf
    [mysql]
    default-character-set=utf8
    socket=/mysql/data/3306/mysql.sock
    [mysqld]
    #skip-name-resolve
    port=3306
    socket=/mysql/data/3306/mysql.sock
    basedir=/mysql/app/mysql
    datadir=/mysql/data/3306/data
    character-set-server=utf8  
    default-storage-engine=INNODB
    innodb_buffer_pool_size = 200M
    max_allowed_packet=16M
    explicit_defaults_for_timestamp=1
    log-output=FILE
    general_log=0
    general_log_file=/mysql/log/3306/itchaodb-general.err
    slow_query_log = ON
    slow_query_log_file=/mysql/log/3306/itchaodb-query.err
    long_query_time=10
    log-error=/mysql/log/3306/itchaodb-error.err
    
  8. 做链接

    ln -sf /mysql/data/3306/my.cnf  /etc/my.cnf
    more /etc/my.cnf 
    
  9. 初始化

    /mysql/app/mysql/bin/mysqld --initialize --user=mysql --basedir=/mysql/app/mysql/ --datadir=/mysql/data/3306/data/
     日志:
     -rw-r-----. 1 mysql mysql       56 May 30 01:19 auto.cnf
     -rw-------. 1 mysql mysql     1680 May 30 01:19 ca-key.pem
     -rw-r--r--. 1 mysql mysql     1112 May 30 01:19 ca.pem
     -rw-r--r--. 1 mysql mysql     1112 May 30 01:19 client-cert.pem
     -rw-------. 1 mysql mysql     1680 May 30 01:19 client-key.pem
     -rw-r-----. 1 mysql mysql   196608 May 30 01:19 #ib_16384_0.dblwr
     -rw-r-----. 1 mysql mysql  8585216 May 30 01:19 #ib_16384_1.dblwr
     -rw-r-----. 1 mysql mysql     3595 May 30 01:19 ib_buffer_pool
     -rw-r-----. 1 mysql mysql 12582912 May 30 01:19 ibdata1
     -rw-r-----. 1 mysql mysql 50331648 May 30 01:19 ib_logfile0
     -rw-r-----. 1 mysql mysql 50331648 May 30 01:19 ib_logfile1
     drwxr-x---. 2 mysql mysql        6 May 30 01:19 #innodb_temp
     drwxr-x---. 2 mysql mysql        6 May 30 01:19 mysql
     -rw-r-----. 1 mysql mysql 15728640 May 30 01:19 mysql.ibd
     drwxr-x---. 2 mysql mysql     8192 May 30 01:19 performance_schema
     -rw-------. 1 mysql mysql     1676 May 30 01:19 private_key.pem
     -rw-r--r--. 1 mysql mysql      452 May 30 01:19 public_key.pem
     -rw-r--r--. 1 mysql mysql     1112 May 30 01:19 server-cert.pem
     -rw-------. 1 mysql mysql     1676 May 30 01:19 server-key.pem
     -rw-r-----. 1 mysql mysql 16777216 May 30 01:19 undo_001
     -rw-r-----. 1 mysql mysql 16777216 May 30 01:19 undo_002
    
    
  10. 配置开机启动

    vi /usr/lib/systemd/system/mysqld.service
    [Unit]
     #mysql的描述和文档查询
     Description=MySQLServer
     Documentation=man:mysqld
     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=/mysql/app/mysql/bin/mysqld --defaults-file=/etc/my.cnf
     LimitNOFILE = 65536
     LimitNPROC = 65536
    
  11. 配置systemctl 启动停止

    systemctl daemon-reload
    systemctl stop mysqld
    systemctl start mysqld
      ● mysqld.service - MySQLServer
       Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled; vendor preset: disabled)
       Active: failed (Result: exit-code) since Sun 2021-05-30 12:18:56 CST; 2s ago
       Docs: man:mysqld
           http://dev.mysql.com.doc/refman/en/using-systemd.html
          Process: 4875 ExecStart=/mysql/app/mysql/bin/mysqld --defaults-file=/etc/my.cnf (code=exited, status=1/FAILURE)
         Main PID: 4875 (code=exited, status=1/FAILURE)
    
  12. 修改用户名密码

    查看mysl 密码  grep "password" /mysql/log/3306/ityml-error.err
    mysql -u root -puse mysql// 修改密码为rootroot
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'rootroot';exit;
    
  13. 允许远程登陆

      mysql -u root -p use mysql
    select host,user from user where user= 'root'
    create USER 'root'@'%'IDENTIFIED BY 'root';// *.* 所有的数据库 所有的表 授予管理员权限
    grant all privileges on *.*to 'root'@'%' with grant option
    exit
    mysql -uroot -p -h192.xxx.xxx.xxx远程密码:root
    
  14. 远程连接需要关闭防火墙

    firewall-cmd --statesystemctl stop firewalld.service// 禁止防火墙开机自动启动systemctl disable firewalld.service
    
  15. 创建数据库

    create database xxx DEFAULT CHARSET utf8mb4;
    
  16. 创建用户

    mysql -u root -pmysql> create USER 'ityml'@'%'IDENTIFIED BY 'ityml'
    
  17. 查看所有用户

    mysql>select host,user from mysql.user;
    
  18. 为创建的用户授权

    grant all privileges on itpuxdb.* to 'ityml'@'%' (identified by 'ityml')8.0 不能用grant all privileges on itpuxdb.* to 'ityml'@'localhost';
    
posted @ 2021-06-22 01:12  ityml  阅读(239)  评论(0编辑  收藏  举报