Linux安装MySql8.0.16

  • 创建组和用户
    groupadd mysql
    useradd -r -g mysql mysql
    
  • 解压二进制压缩包到目录
    我这边将二进制压缩包解压在/usr/local/developer目录下
    //解压
    tar xvJf mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz 
    //将解压包改名为"mysql"
    mv /usr/local/developer/mysql-8.0.16-linux-glibc2.12-x86_64/ /usr/local/developer/mysql
    
  • 修改权限,目的是保证安装mysql目录的所有者为mysql用户,所属组为mysql
    //修改所有者为"mysql"用户
    chown -R mysql .
    //修改所属组为"mysql"组
    chgrp -R mysql .
    
  • 初始化数据库
    //创建mysql_install_db
    mkdir mysql_install_db
    //修改权限
    chmod 777 ./mysql_install_db
    //初始化
    bin/mysqld --initialize --user=mysql --basedir=/usr/local/developer/mysql --datadir=/usr/local/developer/mysql/data
    
    初始化执行完成后会出现如下图所示内容,红框标记数据库初始密码
    初始化完成

    如果遇到类似没有libnuma.so.1的问题,则需要使用如下命令安装libnuma
    yum install libnuma
    yum -y install  numactl
    yum install libaio1 libaio-dev
    
  • 配置mysql
    //修改"my.cnf"
    vim /etc/my.cnf 
    //添加如下内容
    """
    [mysqld]
      basedir = /usr/local/developer/mysql
      datadir = /usr/local/developer/mysql/data
      socket = /usr/local/developer/mysql/mysql.sock
      character-set-server=utf8
      port = 3306
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLE
    [client]
     socket = /usr/local/developer/mysql/mysql.sock
    """
    
  • mysql服务,配置完成后可以使用service mysql start/stop/status/...命令启动/停止/mysql服务状态等
    //配置"mysql"服务
    cp /usr/local/developer/mysql/support-files/mysql.server /etc/init.d/mysql
    chmod +x /etc/init.d/mysql
    chkconfig --add mysql
    //检查服务是否生效
    chkconfig --list mysql
    
  • 配置环境变量
    //添加"mysql"环境变量
    vim /etc/profile
    //添加如下内容
    """
    export MYSQL_HOME=/usr/local/developer/mysql
    export PATH=$PATH:$MYSQL_HOME/bin:$MYSQL_HOME/lib
    """
    //环境变量生效
    source /etc/profile
    
  • 启动mysql服务
    service mysql start
    
  • 登录mysql,并修改root密码
    mysql -u root -p
    //结果展示
    """
    Enter password: 输入初始密码
    进入mysql
    mysql>
    """
    //修改"root"密码
    mysql> alter user 'root'@'localhost' identified by '******';
    //退出"mysql"
    mysql> exit;
    
  • 使用Navicat远程连接
    问题:Host "xxx" is not allowed to connect to this MySql server
    原因:root用户的host没有需要进行连接访问的主机ip名称
    解决办法:修改root用户的host的值
    //进入mysql
    mysql -uroot -p
    //切换到"mysql"库
    mysql> use mysql;
    //查看"mysql"库中"user"表的host值
    mysql> select 'host' from user where user='root';
    //修改"mysql"库中"user"表的host值
    mysql> update user set host='%' where user='root';
    //刷新"mysql"的系统权限相关表
    mysql> flush privileges;
    //查看"mysql"库中"user"表的host的值是否修改
    select user,host from user where user='root';
    //查看结果,user="root",host="%",说明修改成功
    """
    +------+------+
    | user | host |
    +------+------+
    | root | %    |
    +------+------+
    """
    
    问题:2003 - Can't connect to MySQL server on
    原因:大部分原因是由于防火墙中没有开放mysql的3306端口
    解决办法:将3306端口添加到防火墙的开放端口中
    //查看防火墙的开放端口,发现没有3306端口
    sudo firewall-cmd --list-ports
    //添加3306端口
    sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
    //重启防火墙
    sudo firewall-cmd --reload
    

MySql常用命令

你可能感兴趣的:(Linux安装MySql8.0.16)