尽管mysql的版本已经到了8,但是发布模式下还是用5.7比较多
本人这个centOS不是阿里云腾讯云什么的大厂云,是个没听过名字的云,基本内置好的插件和功能都没有,是个光秃秃的centOS,所以比较有通用性,版本是7.3,今天才装的mysql,每一步都是亲测。
1 下载并安装MySQL官方的 Yum Repository
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
这一步很快,然后
yum -y install mysql57-community-release-el7-10.noarch.rpm
之后
yum -y install mysql-community-server
这时centOS就开始安装中,要等待几个小时的时间,因为下载非常慢。。。
装好是这样的:
2 启动和配置mysql
首先启动MySQL
systemctl start mysqld.service
查看MySQL运行状态,运行状态如图:
systemctl status mysqld.service
然修改登录密码,mysql安装好以后要修改密码,否则不能进行任何操作:
先修改密码级别
因为过于简单的密码无法设置,需要修改设置。
找到/etc下的my.cnf,用ftp把他下载下来,用记事本打开修改
#添加validate_password_policy配置
validate_password_policy=0
#关闭密码策略
validate_password = off
一次性把该改的都改了,包括设置utf-8支持中文:
character_set_server=utf8
init_connect='SET NAMES utf8'
修改好了用FTP传回去覆盖,重启mysql服务使配置生效
systemctl restart mysqld
修改密码
这时就可以把密码修改成一个简单的字符串了,先找到安装好以后的默认密码
grep "password" /var/log/mysqld.log
得到一个看起来很复杂的密码:x6,wqZm8Yj1H,每个人的都不一样
如下命令进入数据库:
mysql -uroot -p
输入初始密码,就是上面找到的密码,输入的时候是密文的,看不见,输好了敲回车
进入了以后就会变成这样:
输入修改密码的指令
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
把上面的new password改成你自己的密码,比如'hello'
3 开启mysql的远程访问
在本机要使用navicat连接操作云服务器上的mysql,要开启远程访问
注意:下面命令开启的是所有IP,也就是说,所有知道你的mysql的账户密码的人,都可以连
grant all privileges on *.* to 'root'@'%' identified by 'password' with grant option;
如果指定某个人才能连,那就把%改成ip,比如192.168.1.6
然后再输入下面两行命令
flush privileges; exit;
这时候理论上navicat就可以连接了,但是有的云服务器可能没有开放mysql默认的3306端口,那么你就得修改mysql的端口。
4 修改mysql的端口(如有必要)
使用命令show global variables like 'port';可以查看端口号,一般都是3306
如果要修改端口,还是把上面提到的/etc下的my.cnf,用ftp把他下载下来,用记事本打开修改
加入port=8888(你自己想用哪个端口就写哪个,必须是个没被占用的)
然后丢回去覆盖。
这时可能会出现一个问题,就是端口修改了以后,mysql无法启动了,这时输入指令:
setenforce 0
如果你有防火墙没关的话,还要打开防火墙的这个端口。
正常情况下,这时mysql就可以正常启动了
然后按上面说过的,进入mysql,输入密码,再查看端口:
show global variables like 'port';
就可以看到端口已经改了
然后在navicat里就可以连接这个云服务器的mysql了。
5 navicat的破解
最后提一句navicat,navicat在过期了以后,很多破解方法都不能用了,在网上看了好多文章,折腾了很久以后,确定还是下面这篇文章是好使的
https://blog.csdn.net/lllll520520520520520/article/details/78560134
大家照着做就行了,事实上还是得卸了重装。
常用指令:
1、启动
systemctl start mysqld
2、关闭MySQL
systemctl stop mysqld
3、重启MySQL
systemctl restart mysqld
4、查看MySQL运行状态
systemctl status mysqld