LInux 安装 mysql

以前下载安装方式,真的搞不成,有各种依赖,搞了半天,还是通过yum好

1、yum仓库下载MySQL:sudo yum localinstall https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm

2、yum安装MySQL:sudo yum install mysql-community-server

3、启动MySQL服务:sudo service mysqld start

4、检查MySQL服务状态:sudo service mysqld status

5、查看初始密码(如无内容直接跳过):sudo grep 'temporary password' /var/log/mysqld.log

6、本地MySQL客户端登录:mysql -uroot -p

7、输入密码为第5步查出的,如果没有,直接回车,然后输入命令  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语句中的也要修改

  修改密码支持简单密码,首先配置文件

退出mysql : exit

配置文件: 

vim /etc/my.cnf

添加:

[mysqld]

vlidate_password=off

重启mysql    systemctl restart mysqld

查看mysql状态

service mysqld status

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。开启远程连接

开放端口:

/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

查看已经开放端口的

netstat -lnpt

#创建账户
create user 'root'@'172.16.10.203' identified by 'password'

#赋予权限,with grant option这个选项表示该用户可以将自己拥有的权限授权给别人
grant all privileges on *.* to 'root'@'172.16.10.203' with grant option

#改密码&授权超用户,flush privileges 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里
flush privileges;
原文链接:https://blog.csdn.net/shenhonglei1234/java/article/details/84786443

Nivicat 连接报错,mysql 2059 ,更改加密方式

mysql -uroot -ppassword #登录

use mysql; #选择数据库 # 远程连接请将'localhost'换成'%'

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

#更改加密方式

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

#更新用户密码

FLUSH PRIVILEGES; #刷新权限

来自:https://www.cnblogs.com/hujiapeng/p/9124298.html

原文地址:https://www.cnblogs.com/topguntopgun/p/13127017.html