CentOS下安装mysql,即配置SSH远程连接

CentOS下安装mysql,即配置SSH远程连接

版本:CentOS6.5,mysql-5.6.14

1> 检查是否有安装

  • 使用下面的命令检查是否安装有MySQL Server

    rpm -qa | grep mysql

  • 有的话通过下面的命令来卸载掉

    rpm -e mysql_libs //普通删除模式

    rpm -e --nodeps mysql_libs // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

2> 进行安装

  • 安装编译代码需要的包

    yum -y install make gcc-c++ cmake bison-devel ncurses-devel
    
  • 将下载的文件MySQL 5.6.14 解压至/usr/local 目录下

    tar xvf mysql-5.6.14.tar.gz
    
  • 并进入解压目录下/usr/local/mysql-5.6.14

    cd mysql-5.6.14
    
  • 编译安装[源码=》编译]

    cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
    
  • 编译并安装(过程漫长)

    make
    make install
    或者
    make && make install
    

3> 配置MySQL

  • 设置权限(使用专门的用户和组来管理mysql)

  • 使用下面的命令查看是否有mysql用户及用户组

    cat /etc/passwd #查看用户列表
    cat /etc/group  #查看用户组列表
    
  • 如果没有就创建

    groupadd mysql
    useradd -g mysql mysql
    
  • 修改/usr/local/mysql权限(安装 mysql 后会自动在 /usr/local 下创建 mysql 文件夹)-- 使mysql的所有者为mysql用户和mysql组

    chown -R mysql:mysql /usr/local/mysql # -R为递归
    
  • 初始化配置,进入安装路径(在执行下面的指令),执行初始化配置脚本,创建系统自带的数据库和表

    cd /usr/local/mysql			#进入mysql文件下执行以下脚本
    scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql    [这是一条指令]
    

    注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置!

  • 修改名称,防止干扰(如果有my.cnf 这个文件时)

    mv /etc/my.cnf /etc/my.cnf.bak
    

    注:在CentOS 6.8版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。

  • 查看是否存在文件

    ls -l /etc/m
    
  • 添加服务,拷贝服务脚本到init.d目录

    [注意在 /usr/local/mysql 下执行 以下三条命令]

    cp support-files/mysql.server /etc/init.d/mysql
    
  • 并设置 mysql 自启动

    chkconfig mysql on
    
  • 启动mysql

    service mysql start  --启动MySQL
    
  • 启动成功后可以查看3306端口(是否处于监听状态)进行判断

    netstat -anp | more
    
  • 执行下面的命令修改root密码

    cd /usr/local/mysql/bin 
    ./mysql -uroot  #连接到 mysql 服务
    mysql> SET PASSWORD = PASSWORD('root');  #设置密码为root
    
    quit #退出mysql(sql脚本)
    

    注:由于没有配置环境变量,所以要进入到mysql的bin目录下,才能连接到mysql

  • 设置密码后连接时需要密码才能正确登录连接

    ./mysql -uroot -proot
    或
    ./mysql -uroot -p #再进行输入密码
    

    以上便是mysql的安装与配置过程

4> 测试mysql

  • 查询数据库

    show databases;
    
  • 创建一个数据库,创建完成后可以查询如上

    create database zsg_test1;
    
  • 使用 zsg_test1 数据库

    use zsg_test1;
    
  • 创建表

    create table user(
        id int,
        name varchar(20),
        age int,
        sex int,
        primary key(id)
    );
    
  • 添加数据

    insert into user values(1,"zhangsan",25,1);
    insert into user values(2,"Lucy",20,0);
    
  • 查询表中的数据

    select * from user;
    

5> 配置mysql的环境变量

  • 打开配置文件
vim /etc/profile #打开配置文件,添加配置

  • 修改配置文件如下(部分代码)

    # set jdk
    JAVA_HOME=/usr/local/java/jdk1.8.0_231
    
    JRE_HOME=/usr/local/java/jdk1.8.0_231/jre
    
    CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
    
    # set mysql			
    MYSQL_HOME=/usr/local/mysql		#设置类似jdk的家目录
    
    PATH=$JAVA_HOME/bin:$MYSQL_HOME/bin:$PATH	#添加path环境变量($MYSQL_HOME/bin)
    
    export PATH JAVA_HOME CLASSPATH
    

    注:添加path可以通过冒号(:)追加

  • 刷新配置文件,使立即生效

    source /etc/profile #刷新环境变量,使刚刚的配置生效
    
  • 在任意目录下(除/usr/local/mysql 目录下外)连接mysql

    mysql -u root -p root
    

至此大功告成!

6> 设置mysql远程登录

  • 开放端口(或者关闭防火墙)

    vi /etc/sysconfig/iptables	# 配置端口文件
    
    # 添加mysql的端口(mysql默认端口为3306)
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT	
    #赋值22端口语句,改为3306,如下
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
    
    
    
  • 重启防火墙

    service iptables start
    
  • 连接服务器后,操作mysql系统数据库

mysql -u root -p	#连接到数据库服务
use mysql	#切换到mysql系统数据库


  • 查询用户表命令
select User,authentication_string,Host from user;

结果如下:

+------+-----------------------+-----------+
| user | authentication_string | host      |
+------+-----------------------+-----------+
| root |                       | localhost |
| root |                       | root      |
| root |                       | 127.0.0.1 |
| root |                       | ::1       |
|      | NULL                  | localhost |
|      | NULL                  | root      |
+------+-----------------------+-----------+

注: 这里也可以看出host默认都是localhost访问权限

  • 为用户设置权限(最重要的一点)

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';  #格式
    
    grant all privileges on *.* to 'root'@'%' identified by 'root';
    

    注: 这里的123456为你给新增权限用户设置的密码,%代表所有主机,也可以具体到你的主机ip地址

  • 从mysql数据库的grant表中重新加载权限数据

flush privileges; 

注: 这一步一定要做,不然无法成功!

  • 再次执行查看用户表命令

    select User,authentication_string,Host from user;
    

    如下:

    +------+-----------------------+-----------+
    | User | authentication_string | Host      |
    +------+-----------------------+-----------+
    | root |                       | localhost |
    | root |                       | root      |
    | root |                       | 127.0.0.1 |
    | root |                       | ::1       |
    |      | NULL                  | localhost |
    |      | NULL                  | root      |
    | root |                       | %         |
    +------+-----------------------+-----------+
    

    发现多了一个用户,该用户所有的主机都可以访问

  • 打开DOS进行连接

    #格式:ssh 用户名@主机名
    ssh root@192.168.153.129	#连接到Linux服务器
    

    得到如下信息:

    The authenticity of host '192.168.153.129 (192.168.153.129)' can't be established.
    RSA key fingerprint is SHA256:dibaHeABz1ebPAZec8sfI+/A74zwavXUZwqjtP5FRbw.
    Are you sure you want to continue connecting (yes/no)?
    

    输入yes结果:

    The authenticity of host '192.168.153.129 (192.168.153.129)' can't be established.
    RSA key fingerprint is SHA256:dibaHeABz1ebPAZec8sfI+/A74zwavXUZwqjtP5FRbw.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '192.168.153.129' (RSA) to the list of known hosts.
    root@192.168.153.129's password:
    Last login: Mon Dec 23 00:00:57 2019 from 192.168.153.1
    [root@root ~]#
    

    可以看到已经连接到Linux下了

  • 连接mysql数据库

    mysql -uroot -p	#连接到数据库
    
  • 退出ssh连接(注销登录)

    logout #注销登录
    

    至此,OK了

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值