1. CentOS 没有MySQL的yum源,这里使用下载MySQL的repo源。使用
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
从网上下载MySQL的rpm包,一般是wget + url 的格式下载,使用
rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装rpm包,安装好后开始安装 mysql-server
sudo yum install mysql-server
之后就是等待网上下载安装,中间两次需要选择的地方输入 y 继续下载即可。安装成功后,需要我们修改一下用户的权限
将这个文件的权限设置为当前用户。
sudo chown -R openscanner:openscanner /var/lib/mysql
然后就重启服务重新直接登录root用户
service mysqld restart
mysql -u root
进入MySQL服务后,使用命令修改 root 用户的密码
use mysql;
update user set password=password('new password') where user='root';
flush privileges;
这里的第一句是选用需要修改的数据库,在mysql中用户名密码都在数据库名为mysql的这个库中,在修改数据库中的数据表前都需要使用use命令选中使用哪个数据库,第二句是更新数据表user中root用户的密码为新密码,第三句是将前面所做的修改在系统中刷新生效。
然后就可以使用exit命令退出然后重新使用mysql -uroot -p 回车然后输入新密码进入mysql了。
2. 之后在本地连接阿里云的数据库
首先要确定端口号是处于开放状态,否则会连接失败。
第一步,在阿里云的控制台开放安全组,选择安全组配置,再选择配置规则。
之后在添加安全组规则,端口号选择3306/3306,授权对象0.0.0.0/0.确定即可。
第二步,查看防火墙是否对端口号处于开放状态。
使用命令
firewall-cmd --list-ports
查看防火墙开放的端口,若输入命令后报错了,可能是防火墙服务禁止了,关闭了,这时输入以下命名来启动linux防火墙:
启动防火墙服务:systemctl ummask firewalld(关闭时)
启动防火墙:systemctl start firewalld
之后使用命令
firewall-cmd --zone=public --add-port=3306/tcp --permanent
添加3306端口,输入命令:firewall-cmd --reload,重启防火墙即可生效。
第三步,为本地添加连接数据库授权
如果你想允许用户root从ip为119.23.10.167的主机连接到mysql服务器,并使用password作为密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'119.23.10.167' IDENTIFIED BY 'password' WITH GRANT OPTION;
输入命令mysql> FLUSH PRIVILEGES; 回车使刚才的修改生效,再次远程连接数据库成功。
可能会出现Host is not allowed to connect to this MySQL server
- 在装有MySQL的机器上登录MySQL mysql -u root -p密码
- 执行
use mysql;
- 执行
update user set host = '%' where user = 'root';
这一句执行完可能会报错,不用管它。 -
执行
FLUSH PRIVILEGES;
经过上面4步,就可以解决这个问题了。