Java笔记---CenOS下配置Mysql

版权声明:博客编写不易,转载时请注明出处,Thank you very much! https://blog.csdn.net/GuLu_GuLu_jp/article/details/50986899

一、前言

说一下本人的环境:使用的是腾讯云服务器,系统是 CenOS6.5。在CenOS下安装配置 Mysql 其实和在 Ubuntu 之类的 Linux 系统下配置差不多,而在云服务器下的 CenOS 中配置也是没什么不同,最多也就是纯命令模式嘛,因为云服务器中的 Linux 都是没有桌面的。废话不多说,进入正题。

二、安装 mysql

安装mysql

我们使用 yum 来安装 mysql,执行命令 yum install mysql-server. 若机器上没有安装好,就会自动安装,出现 Complete 就表示成功安装。若是已经安装,就会出现如下情况:
yun-mysql1

查看安装

我们可以使用 rpm 命令来查看 mysql 的安装情况:执行命令 rpm -qa | grep mysql*
yun-mysql2

启动服务

安装好了,那我们就试着启动一下 mysql 服务好了:执行命令 service mysqld start
注意:是 mysqld,而不是 mysql
yun-mysql3

测试 mysql

mysql 的服务已经启动好了,那么我们来测试一下,它是否能正确运行了?启动好后,我们来进入 mysql 中试着操作一下。执行命令:mysql
yun-mysql4
注释:\q 命令指关闭连接,退出 mysql

三、配置 mysql

正确安装后,我们需要对 mysql 进行一些测试,方便我们日后的工作。

开机自启

我们首先来设置 mysql 开机自启。为什么要设置呢?因为每次关机重启后,mysql 服务都会被停止,处于 stop 状态,这时要使用 mysql,就得执行 service mysqld start 命令,比较繁琐,所以设置一下开机自启,可以减少麻烦。

我们利用 chkconfig 命令来设置 mysql 开机自启:执行命令 chkconfig mysqld on
yun-mysql5

通过 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

yun-mysql6

修改密码

一般而言,我们都会启动密码认证。因此我们给用户设置一下密码。进入 mysql,执行命令:update user set password=password(‘密码’) where user=’用户名’; 以此来给用户设置密码

yun-mysql7
yun-mysql8

配置远程登录

有一种需要,叫远程登录mysql。因此,我们也配置一下 mysql 的远程登录。该设置,同样是需要先进入 mysql 数据库,然后再执行命令 grant all privileges on . to ‘root’@’%’ identified by ‘root’ with grant option;
yun-mysql9

命令详解:
  # 将所有权限赋予给 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 下进行。
yun-mysql10
yun-mysql11

四、Java 连接 mysql

准备工作

我们先准备以下,在 test 数据库中,新建一个 user 表,然后插入一条记录。
yun-mysql12
yun-mysql113

编辑 Java 程序

数据库部分准备好了,那么现在该编辑 Java 程序了。执行命令:vi DBConnector.java
yun-mysql14
yun-mysql15

程序是编写好了,但是不知道是否有错误。因此来编译运行下:
yun-mysql16
编译通过,但不能运行,原因是找不到驱动 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,并重新编译运行。
yun-mysql17
yun-mysql18
结果显示正确,那么 Java 连接 mysql 我们就完成了。

猜你喜欢

转载自blog.csdn.net/GuLu_GuLu_jp/article/details/50986899