知识点:CentOS 7.2二进制安装mysql-5.7.19

MySQL官方文档地址

官方文档地址:https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html

开始安装

1、下载mysql二进制包

# cd /usr/local/src

# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz

2、下载mysql依赖的libaio 库

# yum search libaio

# yum install libaio

3、创建组和用户(如果失败,继续下一步)

# groupadd mysql

# useradd -r -g mysql -s /bin/false mysql

4、解压

# tar xf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz

# mv mysql-5.7.19-linux-glibc2.12-x86_64 /usr/local/mysql-5.7.19

# ln -s /usr/local/mysql-5.7.19/ /usr/local/mysql

5、配置环境变量

# export PATH=$PATH:/usr/local/mysql/bin

# echo "export PATH=$PATH:/usr/local/mysql/bin" >>/etc/profile

# source /etc/profile

6、配置

# cd /usr/local/mysql

# mkdir mysql-files

# chown -R mysql.mysql mysql-files/

# chmod 750 mysql-files/

# ./bin/mysqld --initialize --user=mysql

# ./bin/mysql_ssl_rsa_setup

7、创建必要目录

# mkdir /var/log/mariadb/

# touch /var/log/mariadb/mariadb.log

# chown -R mysql.mysql /var/log/mariadb/mariadb.log

# mkdir /var/run/mariadb/ -p

# touch /var/run/mariadb/mariadb.pid

# chown -R mysql.mysql /var/run/mariadb/

8、配置mysql启动脚本

# cp support-files/mysql.server /etc/init.d/mysqld

# chmod +x /etc/init.d/mysqld

9、启动mysql

# /etc/init.d/mysqld start

进入mysql并设置密码

1、在配置文件添加跳过授权表配置

[root@root ~]# head /etc/my.cnf

[mysqld]

skip-grant-tables #在my.cnf配置键的[mysqld]下添加skip-grant-tables

2、重启mysql

/etc/init.d/mysqld restart

3、进入mysql

mysql -S/var/lib/mysql/mysql.sock

4、进入后修改mysql密码

update mysql.user set authentication_string=password('新密码') where user='root' and Host = 'localhost';

5、退出mysql后,去掉/etc/my.cnf刚填加的跳过授权表配置

[root@root ~]# vim /etc/my.cnf

[mysqld]

#skip-grant-tables #删除或者用#号注释都可以

6、再次进入mysql

mysql -uroot -p新密码 -S/var/lib/mysql/mysql.sock

7、查看数据库

mysql> show databases;

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

#查看数据库时报错

8、解决报错

mysql> set password for 'root'@'localhost'=password('新密码');

#新密码和前面设置的新密码要一致

9、此时在查看数据库

复制代码

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| sys |

+--------------------+

发现已经可以正常访问了!!!

远程连接Linux服务器mysql,2003错误 cant connect to mysql

登录阿里云控制台点击“云服务器”进入实例列表,选择列表中你想要连接的MySQL所在的服务器实例,点击“更多”,选择:网络和安全组-->安全组配置,进入安全组列表,点击“配置规则”,再添加安全组规则,参数如下:

允许 自定义 TCP 3306/3306 IPv4地址段访问 0.0.0.0/0 mysql远程连接 1 2019年7月28日 00:56 ||

允许 自定义 TCP 80/80 IPv4地址段访问 0.0.0.0/0 nginx 1 2019年7月2日 19:03 ||

允许 自定义 TCP 8080/9090 IPv4地址段访问 0.0.0.0/0 tomcat 1 2019年7月2日 18:11 ||

补充 远程访问阿里云数据库服务器RDS

RDS数据安全性 --> 设置白名单,格式如下:

0.0.0.0,

111.196.240.157,

111.196.242.147,

111.196.243.70,

172.17.89.112,

192.168.1.1/32,

219.142.47.114,

219.142.47.115,

219.142.47.116,

219.142.47.117,

219.142.47.118,

39.106.177.119

如果你仍被拒绝访问,获取当前所在城市IP添加到白名单中即可。

Access denied for user 'root'@'219.142.47.114' (using password: YES)

1e2ef8e00a210624bbd3c2a451ff2e94.png

16ea8472d060399efe74b89ac9d1408e.png

分析:

IP地址: 219.142.47.117北京市北京市 电信,并非我服务器IP,之前讲设置白名单中说过。而我服务器IP是39.*.*.119,

说明了这不是密码错误造成的。了解RDS产品的同学想必都知道,需要设置白名单,目录是不被拦截,ECS亦是如此,更何况是MySQL。

因此,只有一可能,那就是没有授权其他主机连接你的这台服务器,换句话说,其它主机连接这台服务器时都将被拦截。

注:建议在授权之前先创建好快照,避免修改失误

参考:

https://help.aliyun.com/document_detail/25455.html?spm=5176.11065259.1996646101.searchclickresult.f15a506fyqlFnS

解决办法:授权

mysql -uroot -p

grant all privileges on *.* to root@'%' identified by '123456' with grant option;

flush privileges;

323a933638acfe39f3024484870b9239.png

注意:本文归作者所有,未经作者允许,不得转载

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐