1、检查是否已安装:rpm -qa|grep -i mysql,如果已安装,需要卸载:rpm -ev mysql80-community-****
2、yum仓库下载MySQL: yum localinstall https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
3、yum安装MySQL:yum install mysql-community-server
4、检查是否已安装:rpm -qa|grep -i mysql
5、启动MySQL服务:service mysqld start(或者是systemctl start mysqld.service),
并查看服务状态:systemctl status mysqld.service
6、查看初始化密码:grep 'temporary password' /var/log/mysqld.log ,
7、登陆: mysql -u root -p ,输入上面密码(HBPnFtugo3,;),如果没有,直接回车,然后输入命令 flush privileges
8、修改root登录密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';(注意要切换到mysql数据库,使用use mysql)
注意:开始遇到问题是不输入密码或输错密码都能连接MySQL server,后来在修改允许阿里CentOS7允许远程操作MySQL数据库时,
才发现需要去调整 /etc/my.cnf文件,注释掉skip-grant-tables,重启MySQL服务(sudo service mysqld restart),quit退出连接,重新连接就需要输入密码了
后期如果忘记密码,可以通过skip-grant-tables配置跳过输入密码登录MySQL,执行7、8步进行修改,如果‘root’@'localhost'变为'root'@'%',那么alter语句中的也要修改
9、配置MySQL允许外部访问:
1)首先设置阿里云安全组规则入方向,支持MySQL端口3306可访问(协议类型下拉菜单中有MySQL端口)
2)服务端登录MySQL,use mysql;然后执行select user,host from user可查看用户及对应允许访问主机
然后执行update user set host = '%' where user ='root';允许任何外部可访问;再执行上一步查看命令,可比较结果
10、如此即可连接
注:show global variables like 'port';可查看MySQL服务端口,如果看到的value为0,则说明没有使用密码登录,需要去修改my.cnf文件;
my.cnf文件也可以通过port=3306来指定MySQL服务端口,重启MySQL服务即可
11、java连接8.0及以上MySQL数据库使用新驱动
这个问题是在我用本地工具可以连同阿里云服务器上的MySQL,而本地用java怎么也连不上,偶然间点开工具测试连接的详细信息发现新的驱动,更改java对应驱动后,连接成功
12、注意:在第7部输入密码登陆是报如下的错,
查看日志:cat /var/log/mysqld.log,有如下的错误信息:
[Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use –explicit_defaults_for_timestamp server option (see documentation for more details).
[ERROR] –initialize specified but the data directory has files in it. Aborting.
[ERROR] Aborting
解决方案:红色字体里面说明,mysql中的data目录已经有数据了,
A、停止服务:systemctl stop mysqld.service
B、删除日志文件(存放了临时密码):rm -rf /var/log/mysqld.log
C、通过vim /etc/my.cnf找到data目录:datadir=/var/lib/mysql;进入/var/lib/mysql后,查看到确实有数据
将/var/lib/mysql备份,然后重新启动,systemctl start mysqld.service
参考:https://www.cnblogs.com/hujiapeng/p/9124298.html
https://blog.csdn.net/liyf155/article/details/61420126