CentOS 7.2 64位云服务器环境中安装MySQL5.7并使用navicat进行连接
此篇博客只为记录自己头一次在CenOS上安装MySQL的菜鸟操作。
其中借鉴了此篇博客:https://www.cnblogs.com/bigbrotherer/p/7241845.html
1.下载并安装MySQL官方的 Yum Repository
命令1:
[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
命令2:
[root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm
命令3:
[root@localhost ~]# yum -y install mysql-community-server
包比较大,耐心等待;
2.查看是否安装成功
命令:
mysql --version
3.MySQL数据库设置
启动MySQL:
[root@localhost ~]# systemctl start mysqld.service
查看MySQL状态:(CentOS 7)
[root@localhost ~]# systemctl status mysqld.service
此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码:
[root@localhost ~]# grep "password" /var/log/mysqld.log
这个是初始密码而且是随机生成的,先记下来,一会儿更改。
进入数据库
[root@localhost ~]# mysql -uroot -p
输入刚刚的密码,仔细;
输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
如果密码过于简单就会报1819错误;
原因是因为MySQL有密码设置的规范,具体是与validate_password_policy的值有关:
Policy | Tests Performed |
---|---|
0 or LOW | Length |
1 or MEDIUM | Length; numeric,lowercase/uppercase,and spcial chaaracters |
2 or STRONG | Length; numeric,lowercase/uppercase,and spcial chaaracters;dictionary file |
MySQL完整的初始密码规则可以通过如下命令查看:
这个规则也是可以更改的
密码的长度是由validate_password_length决定的,而validate_password_length的计算公式是:
validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)
上图显示的是已经修改过的,初始情况下第一个的值是ON,validate_password_length是8。可以通过如下命令修改:
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
设置之后就是上图查出来的那几个值了,此时密码就可以设置的很简单,例如1234之类的。到此数据库的密码设置就完成了。
再次执行修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
4.授权其他机器登录
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
5.使用navicat连接数据库
1.查看你的云服务器公网ip
2.打开navicat并按如下配置:
注意:如果连接不上看看防火墙是否已经关闭
命令:
sudo systemctl stop firewalld
为了安全起见建议打开防火墙并开放3306端口
命令:
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
菜鸟一枚,初次写博客;如有问题请多加指正。