Centos7 安装 MySQL8以及远程访问的配置
Centos7 安装MySQL8
1. 添加MySQL8的本地源
- 执行以下命令获取安装MySQL源
[root@virde ~]# wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
[root@virde ~]# sudo yum localinstall mysql80-community-release-el7-1.noarch.rpm
- 可以用下面命令检测源是否添加成功
[root@virde ~]# yum repolist enabled | grep "mysql.*-community.*"
mysql-connectors-community/x86_64 MySQL Connectors Community 51
mysql-tools-community/x86_64 MySQL Tools Community 63
mysql80-community/x86_64 MySQL 8.0 Community Server 17
2. 安装MySQL服务器
- 执行以下命令进行安装
[root@virde ~]# sudo yum install mysql-community-server
安装过程中有询问输入y回车即可。
启动MySQL
- 用下面命令启动MySQL
[root@virde ~]# sudo service mysqld start
Starting mysqld:[ OK ]
- 你可以用下面的命令检查MySQL的运行状态
[root@virde ~]# sudo service mysqld status
mysqld (pid 3066) is running.
- 重启MySQL
[root@virde ~]# sudo service mysqld restart
Starting mysqld:[ OK ]
- 停止MySQL
[root@virde ~]# sudo service mysqld stop
Starting mysqld:[ OK ]
注意:如果你的服务器内存是500M或者更小,可能会因为内存不够导致无法启动成功。
修改/etc/my.cnf中的innodb_buffer_pool_size=50M或者更小即可
MySQL ROOT账号权限配置和远程链接
登陆MySQL本地Shell客户端,并修改root初始密码
- 软件安装好之后,会在错误日志中生成一个超级用户的初始密码,用下面的命令可以查看这个初始密码
[root@virde ~]# sudo grep 'temporary password' /var/log/mysqld.log
2018-04-27T05:20:28.645777Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: nDjEy-#jv7Dn
- 登陆mysql shell客户端,用ALTER USER指令修改初始密码
[root@virde ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 19
Server version: 8.0.11 MySQL Community Server - GPL
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
Query OK, 0 rows affected (0.08 sec)
注意:MySQL对密码复杂度有一定的要求(新版本允许修改规则),默认密码规则如下:
- 长度不得小于8位
- 必须包含至少一个数字,一个小写字母,一个大写字母和一个特殊字符
修改root账号远程访问权限
- 执行以下命令进行修改
mysql> use mysql;
mysql> update user set host="%" where user='root';
mysql> GRANT ALL ON *.* TO 'root'@'%';
mysql> flush privileges;
执行完之后用exit命令退出shell客户端,重启MySQL。
然后就可以在客户端中测试一下链接是否正常了。
需要注意的几个问题
上面的GRANT语句可能和之前的版本不同,我在用之前版本的写法时一直报错。网上其他人写的旧的教程中这个语句不太适合用在MySQL8中。引用中有最新的官网文档可以拿来参考
有些系统会因为服务器防火墙导致即使配置成功,也无法远程链接MySQL。如果无法链接,可以先暂时关闭防火墙测试一下是否时因为防火墙的原因(不同版本的Centos系统防火墙配置可能不一样,具体可能需要另查资料)
防火墙命令:
[root@virde ~]# service firewalld stop
或者
[root@virde ~]# systemctl stop firewalld.service如果你的客户端出现下面这个错误,Client does not support authentication protocol requested by server。是因为MySQL8服务器版本中使用了新的密码验证机制,这需要客户端的支持,如果是旧的客户端(比如Navicat for mysql 11.1.13),可能不会很好的支持,需要你换到比较新的版本。暂时没有找到能让旧版本支持的方法。引用链接中方法我试过了,不管用。
引用
- 官网安装教程
- 官网关于grant的语法
- 设置Mysql5.6允许外网访问详细流程
- CentOS 7.2 关闭防火墙
- Client does not support authentication protocol requested by server
Centos7 安装 MySQL8以及远程访问的配置的更多相关文章
- Centos7安装MySQL8.0
请到这个地址看:https://www.cnblogs.com/kevingrace/p/10482469.html Centos7安装MySQL8.0 - 操作手册 一.yum安装方式: 卸载之前版 ...
- CentOS7 安装 mysql8
本文主要从以下几个方面对自己在centos7 下安装mysql8过程做如下总结: CentOS7 安装mysql8 步骤: window下的Navicat 连接MySql8: 涉及到的Linux命令 ...
- centos7安装mysql5.7.19及配置远程连接
centos7安装mysql5.7.19及配置远程连接------https://blog.csdn.net/Lh19931122/article/details/77996213
- Centos7安装成功后,网卡配置及更改镜像地址为国内镜像
Centos7安装成功后,网卡配置及更改镜像地址为国内镜像 一.网卡配置 二.修改网络配置 踩坑一:IPADDR 踩坑二:网关,DNS与本地不一致 重启网络服务 三.镜像修改为aliyun 四.相关知 ...
- CentOS7安装MySQL8.0小计
之前讲配置文件和权限的时候有很多MySQL8的知识,有同志说安装不太一样,希望发个文,我这边简单演示一下 1.环境安装 下载MySQL提供的CentOS7的yum源 官方文档:<https:// ...
- 阿里云centos7安装mysql8数据库
一.安装mysql 1. mysql官网查找仓库源镜像,选择downloads https://www.mysql.com/downloads/ 2. 找到社区版 3. 选择yum仓库 4. 选择对应 ...
- Centos7安装MySQL8.0 - 操作手册
MySQL 8 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能! 一. Mysql8.0版本相比之前版本的一些特性 1) ...
- CentOS7安装mysql8.0编译报错集合
以下都是我安装mysql8.0遇到的一些报错和解决方法 1.does not appear to contain CMakeLists.txt. 原因:mysql下载的源码包不对 解决方法:下载正确的 ...
- <亲测>CentOS7 安装mysql8.0(YUM方式)
CentOS7 安装mysql(YUM方式) 1.下载mysql源安装包 shell> wget http://dev.mysql.com/get/mysql80-community-rel ...
随机推荐
- .NET Core 跨平台物联网开发:设置委托事件(二)
系列教程目录 (一) 连接阿里云IOT (二) 设置委托事件 (三) 上报属性 (四) SDK文档 属性.方法.委托.类 http://pan.whuanle.cn/index.php?dir=up ...
- [POI2005]Sza-Template
Description Byteasar 想在墙上涂一段很长的字符,他为了做这件事从字符的前面一段中截取了一段作为模版. 然后将模版重复喷涂到相应的位置后就得到了他想要的字符序列.一个字符可以被喷涂很 ...
- Codeforces Round #410 (Div. 2) A
Description Mike has a string s consisting of only lowercase English letters. He wants to change exa ...
- AIDL(1):简介
Android 接口定义语言 (AIDL) 1.AIDL是什么 AIDL(Android 接口定义语言)与您可能使用过的其他 IDL 类似. 您可以利用它定义客户端与服务使用进程间通信 (IPC) 进 ...
- HDU 1423 LICS 模板
http://acm.hdu.edu.cn/showproblem.php?pid=1423 4.LICS.O(lena * lenb) 设dp[i][j]表示a[]的前i项,以b[]的第j项结尾时, ...
- Bootstrap中的datetimepicker浅谈
从古至今,人们都习惯用某个时间来标记某个事件的发生.我们在写管理后台的时候,重中之中也是这个时间的设置.在问题出现的时候,我们是查看日志的时候,就可以根据这个时间段来查找这个问题出现点. 在使用时间控 ...
- 关于ES6的Promise的使用深入理解
ES6的promise对象研究 什么叫promise? Promise对象可以理解为一次执行的异步操作,使用promise对象之后可以使用一种链式调用的方式来组织代码:让代码更加的直观. 那我们为什么 ...
- 【转】Android官方架构项目之MVP + Clean
首先,不了解 Clean 架构的可以看看这个,不过也没关系,阅读本文后你也许会对Clean架构思想有一个认识. 对比MVP项目的结构图,我们发现不同之处是新增的这个Domain Layer这层,来隔离 ...
- Cognos邮件发送
1.打开报表,点击下图的标记 2.设置发送格式收件人 3.设置报表格式 4.设置发送内容
- JAVA自带的加密算法-MD5\SHA1\BASE64
需要导入jar包: commons-codec.jar MD5 String str = "abc"; DigestUtils.md5Hex(str); SHA1 String s ...