Java笔记---CenOS下配置Mysql
Posted bascker
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java笔记---CenOS下配置Mysql相关的知识,希望对你有一定的参考价值。
一、前言
说一下本人的环境:使用的是腾讯云服务器,系统是 CenOS6.5。在CenOS下安装配置 mysql 其实和在 Ubuntu 之类的 Linux 系统下配置差不多,而在云服务器下的 CenOS 中配置也是没什么不同,最多也就是纯命令模式嘛,因为云服务器中的 Linux 都是没有桌面的。废话不多说,进入正题。
二、安装 mysql
安装mysql
我们使用 yum 来安装 mysql,执行命令 yum install mysql-server. 若机器上没有安装好,就会自动安装,出现 Complete 就表示成功安装。若是已经安装,就会出现如下情况:
查看安装
我们可以使用 rpm 命令来查看 mysql 的安装情况:执行命令 rpm -qa | grep mysql*
启动服务
安装好了,那我们就试着启动一下 mysql 服务好了:执行命令 service mysqld start
注意:是 mysqld,而不是 mysql
测试 mysql
mysql 的服务已经启动好了,那么我们来测试一下,它是否能正确运行了?启动好后,我们来进入 mysql 中试着操作一下。执行命令:mysql
注释:\q 命令指关闭连接,退出 mysql
三、配置 mysql
正确安装后,我们需要对 mysql 进行一些测试,方便我们日后的工作。
开机自启
我们首先来设置 mysql 开机自启。为什么要设置呢?因为每次关机重启后,mysql 服务都会被停止,处于 stop 状态,这时要使用 mysql,就得执行 service mysqld start 命令,比较繁琐,所以设置一下开机自启,可以减少麻烦。
我们利用 chkconfig 命令来设置 mysql 开机自启:执行命令 chkconfig mysqld on
通过 chkconfig –list 命令可以看到各服务的情况,从中可以看到 mysql 的情况:运行级别为2、3、4、5的情况下都是on(开启)的状态
[各状态的解释]
等级0表示:表示关机
等级1表示:单用户模式
等级2表示:无网络连接的多用户命令行模式
等级3表示:有网络连接的多用户命令行模式
等级4表示:不可用
等级5表示:带图形界面的多用户模式
等级6表示:重新启动
开启 3306 端口
对于 mysql,我们知道一般都是使用 3306 端口。在我们 Java 程序的数据库连接中,可以看到 jdbc:mysql://localhost:3306/dbname 的语句。因此,在 Linux 下,我们需要开放 3306 端口,以便本机和外部访问 mysql。执行命令:
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save
修改密码
一般而言,我们都会启动密码认证。因此我们给用户设置一下密码。进入 mysql,执行命令:update user set password=password(‘密码’) where user=’用户名’; 以此来给用户设置密码
配置远程登录
有一种需要,叫远程登录mysql。因此,我们也配置一下 mysql 的远程登录。该设置,同样是需要先进入 mysql 数据库,然后再执行命令 grant all privileges on . to ‘root’@’%’ identified by ‘root’ with grant option;
命令详解:
# 将所有权限赋予给 root 用户,允许其进行远程登录
grant all privileges on *.* to ‘root‘@‘%‘ identified by ‘root‘ with grant option;
参数解释:
① all privileges:赋予所有的权限给指定用户,也可以替换为赋予某一具体的权限
② *.*:所赋予的权限是针对全部数据库的全部表。若指定某一具体数据库的具体表,如:thinkphp_user
③ root:表示给root用户授权
④‘%‘:表示不限制连接的 IP。若想只允许某特定的 IP 进行远程登录,可以改为具体 IP。
⑤ by ‘root‘:root 用户的密码
设置好远程登录后,我们测试一下是否可以远程登录。在本地机器执行远程登录命令如下:
# 连接时需要验证密码
mysql -h 远程机器IP地址 -P 3306 -u 用户名 -p thinkphp
# 在登录的时候直接写上密码,p 和密码不能分开
mysql -h 远程机器IP地址 -P 3306 -u 用户名 -p密码 thinkphp
我的本地机器为 Win8.1,远程机器为 CenOS6.5,在本地 Windows 下远程登录,应该在 cmd 下进行。
四、Java 连接 mysql
准备工作
我们先准备以下,在 test 数据库中,新建一个 user 表,然后插入一条记录。
编辑 Java 程序
数据库部分准备好了,那么现在该编辑 Java 程序了。执行命令:vi DBConnector.java
程序是编写好了,但是不知道是否有错误。因此来编译运行下:
编译通过,但不能运行,原因是找不到驱动 jar。因此执行下一步操作
加入 mysq 驱动
使用 cp 命令将准备好的驱动 jar 复制到 jvm/1.8.0xxxx/jre/lib/ext下:
cp mysql-connector-java-5.1.7-bin.jar /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.71-1.b15.el6_7.x86_64/jre/lib/ext/。此步的目的是将连接驱动拷贝到Java的安装目录下,以使得Java程序找到mysql驱动jar。
在Linux下,root用户默认是不用密码的。因此更改 DBConnector.java,并重新编译运行。
结果显示正确,那么 Java 连接 mysql 我们就完成了。
以上是关于Java笔记---CenOS下配置Mysql的主要内容,如果未能解决你的问题,请参考以下文章