• centos7 安装mysql


    1.下载,可以去官网或我分享的百度云下载

    官网下载链接: https://dev.mysql.com/downloads/mysql/5.7.html
    百度网盘链接: https://pan.baidu.com/s/1nrDWUciSyGvA9SkLACQagA 提取码:3wde

    2.安装

    (1)卸载mariadb,centos7一般自带了个mariadb,它是mysql的一个分支

    查看已有的mariadb
    yum list installed | grep mariad

    执行卸载mariadb,卸载上边找到的mariadb-libs.x86_64(可能每个机器查出来的不同,根据上条命令查出来的卸载即可)
    yum -y remove mariadb-libs.x86_64

    (2)解压mysql -C参数指定解压目录,这里我解压到/usr/local
    tar -zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz -C /usr/local/

    (3)重命名    原来的名字太长了,重命名下(不重命名也行,后边命令对应的要变下)

    cd /usr/local
    mv mysql-5.7.24-linux-glibc2.12-x86_64/ mysql-5.7.24

     (4)mysql-5.7.24文件夹目录下创建一个/data/3306文件夹,切换到mysql-5.7.24目录,执行命令

    mkdir data
    cd data
    mkdir 3306

    (5)添加mysql用户及用户组,执行命令:

    groupadd mysql
    useradd mysql -g mysql

      -g: 是指定用户所在组

    (6)切换到mysql-5.7.24/bin目录下执行

    ./mysqld --initialize-insecure --user=mysql --datadir=/usr/local/mysql-5.7.24/data/3306 --basedir=/usr/local/mysql-5.7.24
    ./mysql_ssl_rsa_setup --datadir=/usr/local/mysql-5.7.24/data/3306

    其中第一条命令的 --initialize-insecure 表示不生成临时密码

    如果出现这个错误:

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

    安装一个依赖库:

    yum install -y libaio

     如果出现这个错误:

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

    是因为 yum 安装的libnuma.so.1,但安装时默认安装的是32的,需要的是64位的,解决方法

    如果已经安装了libnuma.so.1,先移除掉命令: yum remove libnuma.so.1
    然后安装:yum -y install numactl.x86_64

    (7)更改mysql-5.7.24整个文件夹目录权限所属,执行命令

    chown -R mysql:mysql /usr/local/mysql-5.7.24

    (8)mysql-5.7.24/data/3306 目录下创建my.cnf文件,内容为下边全部的内容

    [client]
    port        = 3306
    socket      = /usr/local/mysql-5.7.24/data/3306/mysql.sock
    default-character-set=utf8
    
    [mysqld]
    port    = 3306
    socket  = /usr/local/mysql-5.7.24/data/3306/mysql.sock
    datadir = /usr/local/mysql-5.7.24/data/3306
    log-error = /usr/local/mysql-5.7.24/data/3306/error.log
    pid-file = /usr/local/mysql-5.7.24/data/3306/mysql.pid
    
    character-set-server=utf8
    lower_case_table_names=1
    autocommit = 1

     (9)启动mysql

    mysql-5.7.24/bin目录下执行命令

    ./mysqld_safe --defaults-file=/usr/local/mysql-5.7.24/data/3306/my.cnf &

    (10)登陆mysql,在mysql-5.7.18/bin目录下执行命令,如果提示输入密码直接回车就行,因为上边已经设置了不生成临时密码

    ./mysql -uroot -p -P3306 -h127.0.0.1

    (11)修改mysql的密码

    alter user 'root'@'localhost' identified by '123456';

    (12)授权远程访问,执行命令:(这样远程客户端例如navicat才能访问)

    grant all privileges on *.* to root@'%' identified by '123456';
    flush privileges;

    其中*.* 的第一个*表示所有数据库名,第二个*表示所有的数据库表;

    root@'%' 中的root表示用户名,%表示ip地址,%也可以指定具体的ip地址,比如root@localhost,root@192.168.10.130

    flush privileges; 刷新权限。

    最后就可以用第三方客户端连接mysql了

    (13)关闭mysql

    ./mysqladmin -uroot -p -P3306 -h127.0.0.1 shutdown

    PS: 

    如果上面授权远程访问执行之后依然远程连接不上mysql,可能是Linux上防火墙拦截了,可以将防火墙先关闭;

    systemctl stop firewalld         #该命令是临时关闭防火墙,重启centos后失效
    systemctl disable firewalld      #把防火墙置为不可用#

    或者开放端口(建议采用这种方式,比较安全)

    firewall-cmd --zone=public --add-port=3306/tcp --permanent

    firewall-cmd --reload #重新加载防火墙配置






















  • 相关阅读:
    HTML静态网页 标签、表格
    SQL server 视图、范式
    SQL server 触发器
    SQL server while语句、存储过程
    SQL server 子查询、设置主键外键、变量及变量查询
    Excel单元格内容拆分、合并
    Excel日期格式调整
    Excel单元格内容批量加前缀
    Microsoft SQL Server, 错误:4064的解决方法 (转载)
    .net调用web邮箱发送邮件(转载)
  • 原文地址:https://www.cnblogs.com/jinwenb/p/12652218.html
Copyright © 2020-2023  润新知