阿里云ECS服务器上安装MySQL5.7.19

嘉乐集团总公司 1年前 ⋅ 878 阅读

知识点: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)

sql.png 1.png 分析:

IP地址: 219.142.47.117北京市北京市 电信,并非我服务器IP,之前讲设置白名单中说过。而我服务器IP是39.*.*.119,
说明了这不是密码错误造成的。了解RDS产品的同学想必都知道,需要设置白名单,目录是不被拦截,ECS亦是如此,更何况是MySQL。
因此,只有一可能,那就是没有授权其他主机连接你的这台服务器,换句话说,其它主机连接这台服务器时都将被拦截。

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

ECS创建快照

参考:
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;

2.png


全部评论: 0

    我有话说:

    十堰嘉乐软件基地

    微信 扫一扫

    客户服务热线

    0719-400-10010

    在线客服
    支付宝打赏 微信打赏