zoukankan      html  css  js  c++  java
  • CentOS安装Mysql5.6并配置远程连接

    使用的是阿里云提供的CentOS7.3版本,安装的是mysql5.6.40版本。此次安装采用解压压缩包并配置的方式。

    1. 卸载自带的Mariadb

    Centos7将默认数据库mysql替换成了Mariadb,由于由于mysql使用的是/etc/my.cnf作为配置,而Mariadb使用的也是 /etc/my.cnf,所以为避免冲突或者其他的干扰,我们首先需要卸载Mariadb。

    rpm -qa|grep mariadb   # 查询出来已安装的mariadb
    rpm -e --nodeps 文件名  # 卸载mariadb,文件名为上述命令查询出来的文件
    rm /etc/my.cnf         # 删除配置文件,一般情况下卸载之后即删除,这里为保险,再次删除一下

    2. 解压mysql压缩包

    压缩包已下载并移动到安装目录

    解压

    tar -zxvf mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz 
    mv mysql-5.6.40-linux-glibc2.12-x86_64/ mysql-5.6.40   #重命名

    3. 创建mysql用户组

    groupadd mysql     #创建mysql用户组
    useradd -g mysql mysql   #创建一个用户名为mysql的用户并加入mysql用户组

     

    4. 增加配置文件

    可将/usr/local/mysql/support-files/下的my-default.cnf文件到/etc下,重命名为my.cnf,再进行修改,我这里直接在/etc下新建配置文件my.cnf,并对其进行编辑

    /etc/my.cnf

    [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=utf8 
    socket=/var/lib/mysql/mysql.sock
     
    [mysqld]
    skip-name-resolve
    #设置3306端口
    port = 3306 
    socket=/var/lib/mysql/mysql.sock
    # 设置mysql的安装目录
    basedir=/usr/java/mysql/mysql-5.6.40
    # 设置mysql数据库的数据的存放目录
    datadir=/usr/java/mysql/mysql-5.6.40/data
    #错误日志
    log-error = /usr/java/mysql/mysql-5.6.40/data/error.log
    # 允许最大连接数
    max_connections=200
    # 服务端使用的字符集默认为8比特编码的latin1字符集,修改为utf8
    character-set-server=utf8
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    lower_case_table_name=1
    max_allowed_packet=16M

    需要注意的是配置文件中【socket=/var/lib/mysql/mysql.sock】,Mysql客户端和服务器端是通过初始化mysql.sock 文件来进行通信,这个文件夹需要手动创建

    mkdir /var/lib/mysql   #创建通信文件夹,用于存放mysql.socket文件
    chmod -R 777 /var/lib/mysql   #授权该文件夹,可以向其写入文件

    5. 安装

    进入到mysql安装目录,将该目录的用户及组修改为mysql,执行安装

    cd /usr/java/mysql/mysql-5.6.40   #进入安装目录
    yum -y install autoconf   #安装需要的库
    yum -y install libaio     #安装需要的库
    chown -R mysql:mysql ./       #修改当前目录拥有者为mysql用户
    ./scripts/mysql_install_db --user=mysql --basedir=/usr/java/mysql/mysql-5.6.40/ --datadir=/usr/java/mysql/mysql-5.6.40/data/    #安装数据库
    chmod -R 777 /usr/java/mysql/mysql-5.6.40/data   #数据文件夹授权,允许其向内读写数据

    执行安装数据库的时候可能会提示还缺少依赖库,可根据提示进行安装完依赖库,再安装数据库

    6. 配置数据库

    chmod 644 /etc/my.cnf  #授权给配置文件
    cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld   #复制启动脚本到资源目录
    chmod +x /etc/rc.d/init.d/mysqld   #增加mysqld服务控制脚本执行权限
    chkconfig --add mysqld   #将mysqld服务加入到系统服务
    chkconfig --list mysqld   #检查mysqld服务是否已经生效

    显示如下即表明mysqld服务已经生效,在2、3、4、5运行级别随系统启动而自动启动,以后可以使用service命令控制mysql的启动和停止

    service mysqld start  #启动mysql服务
    service mysqld stop   #终止mysql服务

    将mysql的bin目录加入PATH环境变量

    执行【vim /etc/profile】(对所有用户生效)或者【vim ~/.bash_profile】(仅对当前登录用户生效),追加配置

    export PATH=$PATH:/usr/java/mysql/mysql-5.6.40/bin

    保存后使其立即生效

    source /etc/profile
    source ~/.bash_profile

    7. 用户及密码配置

    以root用户登录,默认没有密码

    mysql -uroot -p

    设置密码

    mysql>use mysql;
    mysql>update user set password=password('123') where user='root' and host='localhost';
    mysql>flush privileges;

    默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,这里添加一个新的帐户

    GRANT ALL PRIVILEGES ON *.* TO 'guest'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

     

    开放3306端口,进行本地及远程连接成功。

  • 相关阅读:
    Datawhale-新闻文本分类-task4-基于深度学习的文本分类1-fastText
    Datawhale-新闻文本分类-task3-机器学习分类
    (String)、toString、String.valueOf的区别
    抽象类与接口
    内部类详解
    关键字this---static---final
    Intent系列讲解---Intent简介以及相关属性
    Activity系列讲解---Activity的四大启动模式
    Activity系列讲解---Activity运行时的屏幕方向,全屏,窗体模式的设置
    Activity系列讲解---返回结果的处理
  • 原文地址:https://www.cnblogs.com/zjfjava/p/9681866.html
Copyright © 2011-2022 走看看