2019独角兽企业重金招聘Python工程师标准>>>

原文地址:http://blog.csdn.net/you23hai45/article/details/50984328

http://blog.csdn.net/gtsina/article/details/78045244

mysql5.7在centos上安装的完整教程以及相关的“坑”

标签: mysqlmysql5.7mysql5.7安装mysql5.7优化mysql优化

2016-11-25 17:03 2447人阅读 评论(3) 收藏 举报

 分类:

架构师之路(60) 

版权声明:本文为博主原创文章,未经博主允许不得转载。

目录(?)[+]

安装前的准备

Step1: 如果你系统已经有MySQL,如一般centos自带mysql5.1系列,那么你需要删除它,先检查一下系统是否自带mysql

[plain] view plain copy

  1. yum list installed | grep mysql

Step2: 删除系统自带的mysql及其依赖命令

[plain] view plain copy

  1. yum -y remove mysql-libs.x86_64

Step3: 给CentOS添加rpm源,并且选择较新的源命令

[plain] view plain copy

  1. wget dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
  2. yum localinstall mysql-community-release-el6-5.noarch.rpm
  3. yum repolist all | grep mysql
  4. yum-config-manager --disable mysql55-community
  5. yum-config-manager --disable mysql56-community
  6. yum-config-manager --enable mysql57-community-dmr
  7. yum repolist enabled | grep mysql

开始安装

Step4:安装mysql 服务器命令

[plain] view plain copy

  1. yum install mysql-community-server

CENTOS7上安装MYSQL5.7还有一个巨坑

之前的Linux体系中数据库大局部是mysql,不外自从被sun收买以后,便出用散成正在centos那些开源Linux体系中了,那末若是念用的话便须要本身装置了,起首centos7 已没有支撑mysql。

以前的Linux系统中数据库大部分是mysql,不过自从被sun收购之后,就没用集成在centos这些开源Linux系统中了,那么如果想用的话就需要自己安装了,首先centos7 已经不支持mysql,因为收费了你懂得,所以内部集成了mariadb,而安装mysql的话会和mariadb的文件冲突,所以在运行以下命令前:

[plain] view plain copy

  1. yum install mysql-community-server

需要先卸载掉mariadb,以下为卸载mariadb步骤

[plain] view plain copy

  1. rpm -qa | grep mariadb

当检查出了系统自带的mariadb后如版本为:mariadb-libs-5.5.37-1.el7_0.x86_64 那么使用以下命令:

[plain] view plain copy

  1. rpm -e --nodeps mariadb-libs-5.5.37-1.el7_0.x86_64

强制卸了它,再安装mysql5.7即可。

Step5: 启动mysql命令

[plain] view plain copy

  1. service mysqld start

Step6: 查看mysql是否自启动,并且设置开启自启动命令

[plain] view plain copy

  1. chkconfig --list | grep mysqld
  2. chkconfig mysqld on

mysql5.7安装完后如何开启远程root包括远程用户权限

mysql5.7对于安全模块进行了升级,因此如果你想像以前那样在安装完mysql后直接以mysql -u root登录进去再通过一系列的sql命令来更改权限但是这在mysql5.7上是行不通的,按照以前的做法,你会在面临mysql5.7碰到这样的一个报错“access denied for user root@localhost” ,因此请按照以下使用说明操作。

Step1: 停止mysqld服务并使用mysqld safe启动

[plain] view plain copy

  1. service mysqld stop
  2. mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

RHEL7.0系列的发行版(例如CentOs 7),特征是使用了systemd来代替原有的init,作为第一支启动的程序。此时网络上面所说的mysqld_secure已经不可使用。但是查看官方文档后,得知在这种情况下mysqld可以支持部分mysqld_safe的参数,命令如下:

[plain] view plain copy

  1. mysqld   --user=mysql --skip-grant-tables --skip-networking &

Step2:登录mysql

此时,你在mysql服务器上使用

[plain] view plain copy

  1. mysql -uroot -p

就可以登录mysql了

Step3: 更改mysql安全密码

先説一下原因,mysql5.7出现这样的问题,是因为MYSQL5.6之后,加强了对安全性的管控,认为root用户进行mysql操作是一种危险的行为,于是限制了root用户登录mysql()。但是我们可以通过修改Mysql中user表的方法解决该问题
(网络上还有一种做法是查看/var/log/mysql.log,该文件内有安装后Mysql生成的随机密码,然后用文件里的密码正常登录即可,有兴趣者自己可以试下,此处使用正规操作步骤)

[sql] view plain copy

  1. mysql> SET PASSWORD = PASSWORD('ur password here');

如果出现以下信息:

[plain] view plain copy

  1. ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

请先运行

[plain] view plain copy

  1. update mysql.user set authentication_string=password('newpassword') where user='root'

Step4:更改mysql root的密码(和Step3中保持一致)

[sql] view plain copy

  1. update mysql.user set authentication_string=password('newpassword') where user='root'

之前的mysql版本为:

[sql] view plain copy

  1. UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
  2. flush privileges;

而mysql5.7已经把PASSWORD字段改名成了"authentication_string"这个名字了,此处需要注意了。

Step5:建立可供远程连接的root用户

[sql] view plain copy

  1. GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'ur password here' WITH GRANT OPTION;

Step6:在远程装个mysql workbench然后用远程root登录,爱干吗干吗吧

MYSQL核心配置文件示例

虚拟CPU 6C
内存:6GB
优化过的配置如下:

[plain] view plain copy

  1. # For advice on how to change settings please see
  2. # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
  3. [mysqld]
  4. #
  5. # Remove leading # and set to the amount of RAM for the most important data
  6. # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
  7. # innodb_buffer_pool_size = 128M
  8. #
  9. # Remove leading # to turn on a very important data integrity option: logging
  10. # changes to the binary log between backups.
  11. # log_bin
  12. #
  13. # Remove leading # to set options mainly useful for reporting servers.
  14. # The server defaults are faster for transactions and fast SELECTs.
  15. # Adjust sizes as needed, experiment to find the optimal values.
  16. join_buffer_size = 128M
  17. sort_buffer_size = 6M
  18. read_rnd_buffer_size = 4M
  19. #deprecate this option after mysql5.5 default-character-set = utf8
  20. character-set-server=utf8
  21. open_files_limit    = 10240
  22. back_log = 384
  23. max_connections = 500
  24. #deprecate this option after mysql5.5 table_cache = 512K
  25. max_allowed_packet =16M
  26. query_cache_size = 384M
  27. table_open_cache = 512
  28. key_buffer_size = 384M
  29. datadir=/var/lib/mysql
  30. socket=/var/lib/mysql/mysql.sock
  31. # Disabling symbolic-links is recommended to prevent assorted security risks
  32. symbolic-links=0
  33. log-error=/var/log/mysqld.log
  34. pid-file=/var/run/mysqld/mysqld.pid
  35. slow_query_log_file = /var/log/mysqld-slow-query.log
  36. log-short-format
  37. long-query-time = 3
  38. #log-long-format
  39. #log-slow-admin-statements
  40. log-queries-not-using-indexes

转载于:https://my.oschina.net/u/1396185/blog/889659

mysql5.7在centos上安装相关推荐

  1. 如何在Ubuntu/CentOS上安装Linux内核4.0

    如何在Ubuntu/CentOS上安装Linux内核4.0 大家好,今天我们学习一下如何从Elrepo或者源代码来安装最新的Linux内核4.0.代号为'Hurr durr I'm a sheep'的 ...

  2. 在CentOS上安装Java环境—openjdk1.7 解决https配置问题

    在CentOS上安装Java环境:[1]使用yum安装java 现阶段做企业级项目开发一般都采用Java语言.开发的项目需要放在服务器上运行测试,若以CentOS系统为服务器系统,首先要解决就是Cen ...

  3. Centos上安装EPEL

    RHEL以及他的衍生发行版如CentOS.Scientific Linux为了稳定,官方的rpm repository提供的rpm包往往是很滞后的,当然了,这样做这是无可厚非的,毕竟这是服务器版本,安 ...

  4. 安装 oracle-xe,CentOS上安装Oracle XE指南

    引言: 在CentOS上安装Oracle XE主要用来解决学习和测试的用处,虽然简单,但也是涉及到了诸多的步骤和细节问题. 1.  下载Oracle XE 访问http://www.oracle.co ...

  5. centos上安装supervisor来管理dotnetcore等应用程序

    supervisor 介绍: 这是一款用python编写的进程管理工具,可以守护他管理的所有进程,防止异常退出,以及提供一个可视化的web界面来手动管理,打开关闭重启各种应用,界面如下: 关于在cen ...

  6. 在Linux系统centos上安装RAR

    由于最近弄了个计划,不得不使用RAR,所以要在centos上安装RAR,记录如下: wget http://www.rarsoft.com/rar/rarlinux-3.9.3.tar.gz tar ...

  7. 在CentOS上安装ZooKeeper集群

    一共准备3个CentOS虚拟机 172.16.9.194 172.16.9.195 172.16.9.196 上传zookeeper-3.3.6.tar.gz到服务器并解压,3台服务器的目录结构如下 ...

  8. 在Ubuntu|CentOS上安装Shutter截图工具及快捷键设置

    简介 Shutter前身叫GScrot,它是一款相当棒的截图软件. 通过Shutter,你可以截取包括选定区域.全屏幕.窗口.窗口内的控件甚至网页的图像.通过内置的强大插件机制,你可以在截图后,对图像 ...

  9. 在CentOS上安装NodeJS_v14.x

    在CentOS上安装NodeJS_v14.x 运行NodeJS_v14.x安装程序脚本 下载并执行脚本. sudo yum -y install curl curl -sL https://rpm.n ...

最新文章

  1. 2021年大数据Hadoop(八):HDFS的Shell命令行使用
  2. 浅谈android中的目录结构
  3. 【鉴轻尘】你说你炒的了币,开发得了项目,然而这些你都知道吗?
  4. P1134 阶乘问题
  5. linux 监控命令free,简单了解Linux性能监控命令free
  6. memcache调整value大小限制
  7. 门道多:一次MaxCompute PS任务的问题排查之旅
  8. cannot read prpperty ‘start‘ of undefined(问题记录)
  9. VALSE 2020 公开征集 Workshop 候选讲者
  10. android开源2016_开源的黄金时代,2016年的预测以及更多新闻
  11. Word2vec之CBOW模型和Skip-gram模型形象解释
  12. 运行 lighttrack 遇到错误和解决方法
  13. python智能推荐_Python与集体智能:第2章:推荐项目
  14. 数据库基础(常用SQL语句)
  15. 新手零基础一小时学会小程序开发制作教程
  16. 《理财系列》-《穷爸爸富爸爸》
  17. mysql比赛_在Windows环境下的MySQL数据库,精彩比赛
  18. 使用ScriptableObject代替部分配置表的坑点
  19. 相似度(距离计算)汇总
  20. Eclipse 里Tomcat 启动很慢

热门文章

  1. Mathematica 画图操作中的一些小惊喜
  2. VS调试js学习总结
  3. JavaScript语句模版
  4. Maven父子工程配置文件详解
  5. windows下二进制mysql的卸载以及安装教程
  6. Mysql中字段类型之时间戳大坑
  7. Mongo报如下类似错误时的修改方法Cannot natively represent the long 1396367483000 on this platform...
  8. 讨论IM软件企业知识—会谈session的概念,附连到IM软件层次图
  9. glut64位操作系统安装
  10. mysql large pages_Linux HugePages及MySQL 大页配置