

mysql5.7在centos上安装的完整教程以及相关的“坑”
source link: https://blog.csdn.net/lifetragedy/article/details/53333616
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

安装前的准备
Step1: 如果你系统已经有mysql,如一般centos自带mysql5.1系列,那么你需要删除它,先检查一下系统是否自带mysql
yum list installed | grep mysql
Step2: 删除系统自带的mysql及其依赖命令
yum -y remove mysql-libs.x86_64
Step3: 给CentOS添加rpm源,并且选择较新的源命令
wget dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
yum localinstall mysql-community-release-el6-5.noarch.rpm
yum repolist all | grep mysql
yum-config-manager --disable mysql55-community
yum-config-manager --disable mysql56-community
yum-config-manager --enable mysql57-community-dmr
yum repolist enabled | grep mysql
Step4:安装mysql 服务器命令
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的文件冲突,所以在运行以下命令前:
yum install mysql-community-server
需要先卸载掉mariadb,以下为卸载mariadb步骤
rpm -qa | grep mariadb
当检查出了系统自带的mariadb后如版本为:mariadb-libs-5.5.37-1.el7_0.x86_64 那么使用以下命令:
rpm -e --nodeps mariadb-libs-5.5.37-1.el7_0.x86_64
强制卸了它,再安装mysql5.7即可。
Step5: 启动mysql命令
service mysqld start
Step6: 查看mysql是否自启动,并且设置开启自启动命令
chkconfig --list | grep mysqld
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启动
service mysqld stop
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
RHEL7.0系列的发行版(例如CentOs 7),特征是使用了systemd来代替原有的init,作为第一支启动的程序。此时网络上面所说的mysqld_secure已经不可使用。但是查看官方文档后,得知在这种情况下mysqld可以支持部分mysqld_safe的参数,命令如下:
mysqld --user=mysql --skip-grant-tables --skip-networking &
Step2:登录mysql
此时,你在mysql服务器上使用
mysql -uroot -p
就可以登录mysql了
Step3: 更改mysql安全密码
先説一下原因,mysql5.7出现这样的问题,是因为MYSQL5.6之后,加强了对安全性的管控,认为root用户进行mysql操作是一种危险的行为,于是限制了root用户登录mysql()。但是我们可以通过修改Mysql中user表的方法解决该问题
(网络上还有一种做法是查看/var/log/mysql.log,该文件内有安装后Mysql生成的随机密码,然后用文件里的密码正常登录即可,有兴趣者自己可以试下,此处使用正规操作步骤)
mysql> SET PASSWORD = PASSWORD('ur password here');
如果出现以下信息:
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
请先运行
update mysql.user set authentication_string=password('newpassword') where user='root'
Step4:更改mysql root的密码(和Step3中保持一致)
update mysql.user set authentication_string=password('newpassword') where user='root'
之前的mysql版本为:
而mysql5.7已经把PASSWORD字段改名成了"authentication_string"这个名字了,此处需要注意了。Step5:建立可供远程连接的root用户
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'ur password here' WITH GRANT OPTION;
Step6:在远程装个mysql workbench然后用远程root登录,爱干吗干吗吧
MYSQL核心配置文件示例
虚拟CPU 6C
内存:6GB
优化过的配置如下:
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = 128M
sort_buffer_size = 6M
read_rnd_buffer_size = 4M
#deprecate this option after mysql5.5 default-character-set = utf8
character-set-server=utf8
open_files_limit = 10240
back_log = 384
max_connections = 500
#deprecate this option after mysql5.5 table_cache = 512K
max_allowed_packet =16M
query_cache_size = 384M
table_open_cache = 512
key_buffer_size = 384M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
slow_query_log_file = /var/log/mysqld-slow-query.log
log-short-format
long-query-time = 3
#log-long-format
#log-slow-admin-statements
log-queries-not-using-indexes
Recommend
-
98
mysql5.7新增的特性中主要的一方面就是极大增强了安全性,安装Mysql后默认会为root@localhost用户创建一个随机密码,这个随机密码在不同系统上需要使用不同方式查找,否则无法登录mysql并修改初始密码。以下以Centos 7为例介绍如何找到初始的随机密码。在低于Mysql...
-
50
MySQL5.7一键安装脚本
-
5
Odoo 14 Centos 7 安装教程发布于 22 分钟前sudo yum update -y sudo yum install epel-release安装Python3sudo yum insta...
-
12
华为云 centos7 with arm 面板安装成功,mysql5.7安装失败
-
6
Centos 7安装Pyqt5、Qt Designer以及配置Vscode教程发布于 今天 22:45 最近准备学习Python GUI,除了要写代码的实现外,目前认为最快捷的方式估计是PyQt了,在配置环...
-
6
本文章主要记载MySql 5.7.38的下载安装教程,过程很详细,也很易懂。Navicat 为数据库管理、开发和维护提供了直观而强大的图形界面,我们可以用Navicat工具上操作MySql。 一、MySql下载 1、 官网下载: MySql5.7.38版本...
-
7
我们一起学学 Linux 安装 Docker 完整教程-51CTO.COM 我们一起学学 Linux 安装 Docker 完整教程 作者:二师兄 2022-07-28 08:52:08 本篇文章带大家从头到尾在Linux操作系统上安装了D...
-
3
对于某些直接安装torch==1.4.0报错的情况(没错,就是我遇到了) 在网上查找了,大概的解决方法是先安装一个低版本的torch和torchvision, torchvision是pytorch中...
-
4
二进制安装MySQL5.7并搭建主从 精选 原创 阿基米德VS小豆芽 2022-08-31 17:28:21
-
6
CentOS7使用yum在线安装mysql5.7 精选 原创 1.安装wget
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK