Linux下mysql 5.7 部署及远程访问配置

序言:最近要和伙伴一起组队,做.NET
Core项目。所以自己就租了一个阿里云服务器,并且装了Linux和MySQL。这里面我的Linux是CentOs
7。

最近做一个项目,需要用CentOS做数据服务器,用mysql数据库,就需要安装mysql数据库,之前没接触过centos,因此什么也不懂,就从网上也查了很多资料,都觉得不是最好的方法。最后结合mysql官方资料和网友的资料,最后用rpm方式安装,并总结给其他人以参考。

第一步 添加Mysql Yum库

首先打开mysql管网,找到“yum repository”打开页面或者直接打开如下链接

这里面你需要去官网获取特定rpm包,我选择了如下包

http://dev.mysql.com/downloads/repo/yum/

将RPM包通过Xshell传到Linux服务器上Opt目录下,输入命令:sudo rpm -Uvh
mysql80-community-release-fc28-1.noarch.rpm

,找到自己需要的,点击download,下载rpm文件,在centos中下载完成house可以用软件管理器安装,也可以自己用命令行安装

第二步 选择自己需要的版本

sudo rpm -Uvh ‘filename’

这里我们手动配置成5.7版本,输入如下命令:

  完成安装。

sudo yum-config-manager --disable mysql80-communitysudo yum-config-manager --enable mysql57-community

输入

然后输入查看指令就可以看到下图:

yum repolist all | grep mysql

yum repolist all | grep mysql

 
可以查看所有的mysql对应的rpm包,如果是安装之前的版本,则需要进行相应的设置,打开

这里可能会提示你没有安装yum-config-manager命令,不要紧这个命令在yum-utils
包里,可以通过命令yum -y install yum-utils 安装就可以了。

/etc/yum.repos.d/mysql-community.repo

你也可以去修改/etc/yum.repos.d/mysql-community.repo文件达到相同的效果。

文件,设置对应版本的enabled属性,1是启用,0是禁用,如果安装当前的最新版本,则无需进行任何
设置。

第三步 安装Mysql

输入以下命令开始安装mysql

sudo yum install mysql-community-server

sudo yum install mysql-community-server

第四步 启动Mysql服务

  等待安装完成,输入以下命令,启动mysql服务  

sudo service mysqld start

sudo service mysqld start

可以同过sudo service mysqld status查看服务的状态

  启动完成,house可以查看mysql服务状态

第五步 登录MySql

sudo service mysqld status

mysql -uroot -p 发现需要输入密码但是不知道。

  如果安装的是5.7版本,在服务启动时,因为数据目录是空的,会产生以下操作:

其实在安装mysql的时候,默认给我们设置了一个密码,并且安装了Password
Validation Component,这个组件会对密码进行策略检验。

•      初始化服务器

我们输入sudo grep ‘temporary password’
/var/log/mysqld.log就可以查看默认密码勒

•  在数据目录中生成SSL证书和密钥文件

mysqlALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';mysqlFlush Privileges;

•  安装并启用 validate_password 插件

这样我们就可以用新密码登陆。

•  超级用户账户‘root’@’localhost’被创建,超级用户密码被设置并存储在error日志文件,如需要显示它,则执行如下命令

第六步 授权MySql远程登录

sudo grep ‘temporary password’ /var/log/mysqld.log

方法一: 修改mysql数据库 user表的host。

  此时会生成一个随机密码,在命令行中输入

mysqlupdate user set host = '%' where user = 'root';mysqlselect host, user from user;mysqlFlush Privileges;

mysql -uroot -p

方法二:授权给远程IP

  加上刚才的随机密码,登录mysql。

mysqlGRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;mysqlFLUSH PRIVILEGES

  用该密码登录到服务端后,必须马上修改密码,不然会报如下错误(本地方参考http://www.cnblogs.com/ivictor/p/5142809.html):

这样你就可以用Navicat访问了:

mysql> select user();

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

ERROR 1820 (HY000): You must reset your password using ALTER USER
statement before executing this statement.

  如果只是修改为一个简单的密码,会报以下错误:

mysql>  ALTER USER USER() IDENTIFIED BY ‘12345678’;

ERROR 1819 (HY000): Your password does not satisfy the current policy
requirements

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图