zoukankan      html  css  js  c++  java
  • Linux安装mysql

    原文参考如下文章:

    https://blog.csdn.net/qq_35206261/article/details/81321201

    (这篇文章写得已经很好了,只是按照该文章的安装步骤,我遇到了一点问题,所以参考上面的文章,稍作修改,记录了一下)

    1、下载 mysql 安装包,并解压到 /usr/local/mysql 文件夹

      Linux安装mysql服务分两种安装方法: 

      ①源码安装,优点是安装包比较小,只有十多M,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错,故不推荐

       ②使用官方编译好的二进制文件安装,优点是安装速度快,安装步骤简单,缺点是安装包很大,推荐

       为了加快下载速度,使用华为的镜像,地址如下:https://mirrors.huaweicloud.com/mysql/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

    在 Linux 中,执行如下命令:

    # 切换到 /usr/local
    cd /usr/local
    # 下载 mysql 镜像安装包
    curl -O https://mirrors.huaweicloud.com/mysql/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
    # 解压
    tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
    # 重命名文件夹为 mysql
    mv mysql-5.7.26-linux-glibc2.12-x86_64 mysql

    2、添加用户组mysql和用户mysql,并将其添加到mysql用户组中

    # 添加用户组 mysql
    groupadd mysql
    
    # useradd -r参数表示mysql用户是系统用户,不可用于登录系统
    # useradd -g参数表示把mysql用户添加到mysql用户组中
    useradd -r -g mysql mysql

    3、检查是否安装了 libaio

    rpm -qa | grep libaio
    
    # 如果未安装,执行如下命令安装
    yum install libaio

    4、配置 my.cnf 文件

    # 如果 /etc/my.cnf 不存在,则创建
    touch /etc/my.cnf
    
    # 如果 /etc/my.cnf 存在,则清空文件内容
    cd /etc
    :>my.cnf
    
    # vim 编辑 my.cnf,填充如下内容:
    [mysql] # 设置mysql客户端默认字符集 default
    -character-set=utf8 [mysqld] skip-name-resolve #设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=/usr/local/mysql # 设置mysql数据库的数据的存放目录 datadir=/usr/local/mysql/data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB lower_case_table_names=1 max_allowed_packet=16M

    如图:

    5、创建data文件夹

    cd /usr/local/mysql
    mkdir data

    6、将mysql目录的所属用户和组改为mysql

    chown -R mysql:mysql ./

    7、初始化mysqld 生成初始化密码

    bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

    这里可能会报错(我就报错了)。报错信息

    bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory

    解决方案:

    安装依赖包 yum -y install numactl.x86_64 ,安装完后重新执行初始化即可

    yum -y install numactl.x86_64

    生成的初始密码如下图:

    8、设置开机启动

    # 复制mysql.server脚本到资源目录
    cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
    # 赋予执行权限
    chmod +x /etc/rc.d/init.d/mysqld
    # 将 mysqld 服务加入到系统服务
    chkconfig --add mysqld
    # 检测是否生效
    chkconfig --list mysqld

    得到如下结果,则说明生效:

    启动 mysql 服务:

    9、配置环境变量

    打开/etc/profile配置文件,添加如下内容

    #mysql环境变量
    PATH=$PATH:/usr/local/mysql/bin
    export PATH

    使其立即生效:

    source /etc/profile

    10、修改 mysql 密码

    1)登录

     2)  修改密码

    mysql> SET PASSWORD = PASSWORD('123456');
    mysql> use mysql; mysql> update user set authentication_string=PASSWORD('123456') where User='root';

     3) 允许远程访问

    mysql> grant all privileges on *.* to root@"%" identified by "password" with grant option;
    
    mysql> flush privileges;

    11、如果使用navicate进行远程连接访问,报如下错误:

     解决方案:

    1) 关闭mysql服务

    [root@baidu64 mysql]# service mysqld stop
    Redirecting to /bin/systemctl stop mysql.service

    2) 修改/etc/my.cnf修改为无密码登录

    在my.cnf配置文件添加如下内容:

    # mysql无密码登录
    skip-grant-tables

    3)重启mysql服务

    [root@baidu64 mysql]# service mysqld restart
    Redirecting to /bin/systemctl restart mysql.service

    4)无密码登录mysql

    [root@baidu64 mysql]# mysql -u root

    5)再次修改密码

    mysql> use mysql;
    
    mysql> update mysql.user set authentication_string=password('123456') where user='root' ;

    6) 然后将my.cnf无密码登录配置去掉(就是上面刚加的那句话)

    7) 退出mysql,并重启

    [root@baidu64 mysql]# service mysqld restart
  • 相关阅读:
    HDU4366 Successor 线段树+预处理
    POJ2823 Sliding Window 单调队列
    HDU寻找最大值 递推求连续区间
    UVA846 Steps 二分查找
    HDU3415 Max Sum of MaxKsubsequence 单调队列
    HDU时间挑战 树状数组
    UVA10168 Summation of Four Primes 哥德巴赫猜想
    UESTC我要长高 DP优化
    HDUChess 递推
    HDU4362 Dragon Ball DP+优化
  • 原文地址:https://www.cnblogs.com/lkc9/p/11955109.html
Copyright © 2011-2022 走看看