why?
搞了个百度云服务器,装了CentOS7系统
,然后发现升级到7以后安装mysql和6不一样,在网上找了很多资料最后终于装上了,记录一下,留着以后用。
how?
安装的Mysql版本为
5.7
下载yum源
官网找到对应的 yum源 找到Red Hat Enterprise Linux 7 / Oracle Linux 7 (Architecture Independent), RPM Package
点击下载在浏览器下载记录中把下载地址拷贝下来即可。
下载yum的rpm包
首先创建一个目录来放安装文件
cd /usr
mkdir mysql
cd mysql
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
安装rpm包
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
安装mysql服务
yum install -y mysql-server
启动服务
在7中没有service命令,所以使用 systemctl命令
systemctl start mysqld
查看初始密码
因为5.7以后首次安装不允许使用空密码登录,所以会随机生成一个密码,这个密码存放在/var/log/mysqld.log
cat /var/log/mysqld.log|grep 'A temporary password'
2018-12-11T12:57:59.878904Z 1 [Note] A temporary password is generated for root@localhost: ESkTTaw;k0R&
// 冒号后面的就是初始密码
登录并修改密码
mysql -u root -p
alter user 'root'@'localhost' identified by 'your_password';
修改完密码后,重新登录测试下,就可以使用Mysql了
service mysqld restart
mysql远程连接 Host * is not allowed to connect to this MySQL server
在本机登入mysql后,更改"mysql"数据库里的"user"表里的"host"项,从"localhost"改为'%'。
代码如下
mysql>
mysql>use mysql;
mysql>select 'host' from user where user='root';
#查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
先说说这个错误,其实就是我们的MySQL不允许远程登录,所以远程登录失败了,解决方法如下:
- 在装有MySQL的机器上登录MySQL mysql -u root -p密码
- 执行
use mysql;
- 执行
update user set host = '%' where user = 'root';
这一句执行完可能会报错,不用管它。 -
执行
FLUSH PRIVILEGES;
经过上面4步,就可以解决这个问题了。
注: 第四步是刷新MySQL的权限相关表,一定不要忘了,我第一次的时候没有执行第四步,结果一直不成功,最后才找到这个原因。