说明:本文主要详细介绍了关于如何在阿里云ECS服务器上安装并配置Mysql
环境:Centos 7版本,阿里云部署好系统后会默认安装mariadb数据库
1、删除阿里云自带的MariaDB
# rpm -qa | grep mariadb //查看当前已安装的mariadb服务 # rpm -e --nodeps 文件名 //卸载mariadb,文件名为搜索出来的文件
2、下载与安装Mysql
(1)下载MySql官方的yum repository
# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
(2)下载并安装rpm包
# yum -y install mysql57-community-release-el7-10.noarch.rpm
(3)安装MySql服务
# yum -y install mysql-community-server
说明:这里需要等待一段时间,直到最后出现commplete表示安装完成
(4)启动MySql服务
# systemctl start mysqld.service
说明:Active:active(running)表明MySql服务已启动
(5)MySql常用配置命令
# service mysql restart //重启MySql # service mysql stop //停止MySql服务 # service mysql status //查看MySql当前运行状态 # chkconfig mysqld on //设置MySql开机自启动
3、登录到MySql
# mysql -uroot -p //登录到MySql
说明:第一次运行MySql系统会分配一个初始密码,通过查看初始密码登录到MySql
# grep "password" /var/log/mysqld.log
4、修改MySql密码
说明:linux中的mysql自带密码安全策略,需要设置复杂的密码,如需设置简单密码:输入以下命令
mysql>set global validate_password_policy=0;
mysql>
set
global validate_password_length=1; //设置密码的最低长度
mysql>set password=password('新密码'); //修改root用户密码,需要设置复杂的密码(大小写,特殊符合,数字组合)
5、配置远程登录
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION; //给root分配任何IP访问权限 mysql>flush privileges; //刷新权限,使权限生效
添加3306端口
# firewall-cmd --zone=public --add-port=3306/tcp --permanent
说明:若系统提示FirewallD is not running表明防火墙未运行,开启防火墙
# systemctl status firewalld //查看防火墙运行状态 # systemctl start firewalld //开启防火墙
建议:添加3306端口前,查看防火墙运行状态,若关闭则开启防火墙,最后关闭防火墙即可
# firewall-cmd --reload //重启防火墙
# systemctl stop firewalld //关闭防火墙,一定要关闭,否则导致jdbc无法访问
6、配置my.cnf配置文件
# vim /etc/my.cnf //编辑mysql配置文件,并且在末尾添加以下代码 character_set_server=utf8 init_connect='SET NAMES utf8'
7、navicat连接阿里云MySql
注:采用navicat新建数据库时,需要将编码方式设置为,字符集:utf8 -- UTF-8 Unicode ,排序规则:utf8_general_ci
8、解决在阿里云下无法用JDBC连接数据库的问题
问题描述:在阿里云下安装好了mysql后,即使你给root用户开放了所有IP访问权限,这还仅仅只是能够使用navicat连接,
当你在Java中使用JDBC连接你的阿里云mysql会报连接异常。强调:在开放了3306端口号后,一定要再次关闭Linux的防火墙
解决办法:登录到你的阿里云控制台,在实例中进行配置规则,开放3306端口即可,如图