一:删除已有的mysql步骤

1 卸载旧的mysql

  1.1 查询有哪些mysql文件

[root@zookeeper init.d]# find / -name mysql
/var/lock/subsys/mysql
/var/lib/mysql
/usr/local/soft/mysql
/usr/local/soft/mysql/mysql
/usr/local/soft/mysql/mysql/include/mysql
/usr/local/soft/mysql/mysql/bin/mysql
/usr/local/soft/mysql/mysql/data/mysql
/usr/lib64/mysql
/usr/lib64/perl5/auto/DBD/mysql
/usr/lib64/perl5/DBD/mysql
/usr/share/mysql
/usr/bin/mysql

1.2  依次删除

[root@zookeeper init.d]# rm -rf /var/lock/subsys/mysql

.....将文件依次删除

2 删除配置文件

  2.1删除mysql的配置文件(my.cnf文件)

[root@zookeeper init.d]# rm -rf /etc/my.cnf

  2.2删除 /etc/init.d/ 下跟mysql有关的全部文件,一般包括mysql文件或mysqld文件。

这个文件具体有 哪些mysql文件,可以自己查一下,然后删除掉,比如我的:

3. 删除mysql的用户和组

[root@ali228 ~]# userdel mysql
userdel: user 'mysql' does not exis

到这里。mysql已经被删除完成,可以安装新的mysql了

二:安装步骤

准备工作:

下载安装包两种方式:(注意:先别急着操作)

方式一:官网下载:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

方式二:通过linux的wget命令

1.进入mysql的安装目录(最好自己创建)

cd /usr/local/soft/mysql  

2.下载mysql的tar.gz包

( 我这里采用的是wget方式,为啥?简单啊,但是执行这个需要网速快,否则你还是老老实实的在 实体机上下载完,再传到虚拟机上吧)

3.下载完后,先找到自己下载的 mysql包

[root@ali228 mysql] ll /usr/local/soft/mysql

查看自己的安装包

然后解压

 tar -zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz

解压后的文件夹名称“mysql-5.7.24-linux-glibc2.12-x86_64” 修改为mysql( 你想的没错,是的,这时有两个mysql的文件夹)

mv mysql-5.7.-linux-glibc2.-x86_64 mysql

4.添加用户组mysql和用户mysql,并将其添加到mysql用户组中

[root@ali228 mysql]# groupadd mysql
[root@ali228 mysql]# useradd -r -g mysql mysql

注:     useradd -r参数表示mysql用户是系统用户,不可用于登录系统。

useradd -g参数表示把mysql用户添加到mysql用户组中。

5.检查是否安装了 libaio

rpm -qa | grep libaio

如果没有安装,则执行:

yum search libaio

6.配置my.cnf文件

vi /etc/my.cnf

将一下内容拷贝到该文件里边

[mysql]  

# 设置mysql客户端默认字符集  

default-character-set=utf8   

socket=/tmp/mysql.sock

[mysqld]  

#skip-name-resolve  

#设置3306端口  

port=3306   

socket=/tmp/mysql.sock

# 设置mysql的真正的安装目录 (看自己的是在哪里)

basedir=/usr/local/soft/mysql/mysql  

# 设置mysql数据库的数据的存放目录 (看自己的是在哪里)

datadir=/usr/local/soft/mysql/mysql/data  

# 允许最大连接数  

max_connections=200  

# 服务端使用的字符集默认为8比特编码的latin1字符雿 

character-set-server=utf8  

# 创建新表时将使用的默认存储引擿 

default-storage-engine=INNODB  

#lower_case_table_name=1  

max_allowed_packet=16M
 

7.创建data文件夹(就是my.cnf中datadir 所指定的文件夹)

[root@baidu64 mysql]# pwd
/usr/local/soft/mysql/mysql
[root@baidu64 mysql]# mkdir data

8.将mysql目录的所属用户和组改为mysql

chown -R mysql:mysql ./

9. 初始化mysqld 生成初始化密码(注意文件地址)

[root@baidu64 mysql]# ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/soft/mysql/mysql --datadir=/usr/local/soft/mysql/mysql/data

此时,输出为:

--24T04::.673365Z  [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
--24T04::.808961Z [Warning] InnoDB: New log files created, LSN=
--24T04::.105505Z [Warning] InnoDB: Creating foreign key constraint system tables.
--24T04::.184776Z [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: cec94f21-d744-11e8-a0b5-fa163ed8e403.
--24T04::.188372Z [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
--24T04::.189074Z [Note] A temporary password is generated for root@localhost: i;lknXwO;,s
[root@baidu64 mysql]#

将 "root@localhost:"  后边的内容记录下来,这是第一次登陆mysql需要的密码(如果没有记下来,就得重新安装一遍哦)

10.mysql配置

  10.1 设置开机启动:

    10.1.1 复制mysql.server脚本到资源目录,并赋予执行权限:

设置之前我们先了解点东西:(很急的话,就不用看了)

启动mysql,我们可以通过:
./support-files/mysql.server
这个来启动了,但是每次都得输出或者进去响应的文件夹,不免有些麻烦,那有什么办法? 我们来了解一下 /etc/rc.d/init.d 这个文件:这个目录存放的是一些脚本,一般是linux以rpm包安装时设定的一些服务的启动脚本。 系统在安装时装了好多rpm包,这里面就有很多对应的脚本 。
执行这些脚本可以用来启动,停止,重启这些服务。
所以当我们把我们的mysql启动脚本放在“/etc/rc.d/init.d/mysqld”文件中,就可以很方便的启动mysql了
[root@baidu64 mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysql.server
 [root@baidu64 mysql]# chmod +x /etc/rc.d/init.d/mysql.server

“chmod +x /etc/rc.d/init.d/mysql.server”
设置完这个后,就可以通过:mysqld快捷启动了:  service mysql.server start

    10.1.2:将 mysqld 服务加入到系统服务并检测是否生效:
[root@baidu64 mysql]#  chkconfig --add mysql.server
[root@baidu64 mysql]# chkconfig --list mysql.server
可以启动mysql了:
service mysql.server start

11.配置环境变量

  11.1   在 /etc/profile配置文件中,添加如下内容:

首先: vi  /etc/profile

然后再文件中添加内容:(不会vi操作的可以百度一下,这是基本操作)

#mysql环境变量

PATH=$PATH:/usr/local/soft/mysql/mysql/bin export PATH

  11.2 执行命令,使etc/profile生效

source /etc/profile

  11.3 校验是否成功:

[root@baidu64 mysql]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/home/env/jdk/jdk8/jdk1..0_171/bin:/root/bin:/home/env/jdk/jdk8/jdk1..0_171/bin:/usr/local/env/mysql/mysql/bin

12.  初次登录 修改访问密码(第一次的密码就是 上边我让你记得密码,可以回去看下第9步)

[root@baidu64 mysql]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is
Server version: 5.7. Copyright (c) , , 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>

修改登录密码:(为 '123456')

mysql> SET PASSWORD = PASSWORD('123456');
Query OK, rows affected, warning (0.00 sec)
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A Database changed
mysql> update user set authentication_string=PASSWORD('') where User='root';
Query OK, rows affected, warning (0.00 sec)
Rows matched: Changed: Warnings: mysql>

13.允许远程访问

mysql> grant all privileges on *.* to root@"%" identified by "password" with grant option;
Query OK, rows affected, warning (0.00 sec) mysql> flush privileges;
Query OK, rows affected (0.00 sec) mysql>

14.使用navicate远程连接报错

  14.1关闭mysql服务

[root@baidu64 mysql]# service mysql.server stop

 Redirecting to /bin/systemctl stop mysql.service

如果提示‘mysql unrecognized service’,则执行:

cp ./support-files/mysql.server /etc/rc.d/init.d/mysql.server

然后执行:
 chmod +x /etc/rc.d/init.d/mysql.server
在执行:service  mysql.server start

15. 修改/etc/my.cnf修改为无密码登录

在my.cnf配置文件添加如下内容:

# mysql无密码登录
skip-grant-tables

16.重启mysql服务

[root@baidu64 mysql]# service mysql.server restart 
Redirecting to /bin/systemctl restart mysql.service

17.无密码登录mysql

[root@baidu64 mysql]# mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is
Server version: 5.7. MySQL Community Server (GPL) Copyright (c) , , 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>

18.再次修改mysql密码:

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A Database changed
mysql> update mysql.user set authentication_string=password('') where user='root' ;
Query OK, row affected, warning (0.00 sec)
Rows matched: Changed: Warnings: mysql>

19.

然后将my.cnf无密码登录配置去掉(就是上面刚加的那句话)

20.退出mysql,并重启:

mysql> quit
Bye
[root@baidu64 mysql]# service mysql restart
Redirecting to /bin/systemctl restart mysql.service
[root@baidu64 mysql]#

21.重新连接

问题一:socket file /tmp/mysql.sock exists. Is another MySQL daemon already running with the same unix socket?

执行:etc/init.d/mysql.server restart
报错: Stopping mysqld: [ OK ]
Socket file /tmp/mysql.sock exists. Is another MySQL daemon already running with the same unix socket?
Starting mysqld:

原因多个Mysql进程使用了同一个socket。

此时,只需要将这个socket文件删除即可这个文件删除掉也没事,因为:

Mysql有两种连接方式:MySQL客户可以两种不同的方式连接mysqld服务器:Unix套接字,它通过在文件系统中的一个文件(缺省“/tmp/mysqld.sock”)进行连接;或TCP/IP,它通过一个端口号连接。

(1)TCP/IP

(2)socket 作用: 发起本地连接

mysql.sock是随每一次 mysql server启动生成的,因此mysql服务连接不上的根本原因还是配置文件设置出问题了。
MySQL下mysql.sock丢失丢失的原因一般是因为配置文件不一致的原因,mysqld 错误启动,mysqld_safe 会清除一次mysql.sock 。

(这个文件在哪?可以去my.cnf中查找)??

然后去删除

rm -rf 文件路径

问题二:

ervice mysqld start 重启数据库总是会出现如下提示:

MySQL Daemon failed to start.
Starting mysqld: [FAILED]

如果直接输入 mysql -root -p登陆会出现[mysql]ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)的错误提示。总之MySql服务器端总是无法启动。网上的提供很多解决方法也没有效果。最后通过如下方法解决:

运行以下命令:

rm /var/lock/subsys/mysqld
killall mysqld

然后再执行:

service mysql.server start

Linux.centos安装mysql5.7.18的更多相关文章

  1. centos 安装mysql5.7.18.tar.gz

    1.解压mysql.tar.gz tar -zxvf mysql--linux-glibc2.-x86_64.tar.gz  2.添加mysql用户组和mysql用户,命令如下: groupadd m ...

  2. Linux rhel7 下MySQL5.7.18详细安装文档

    Linux rhel7 下MySQL5.7.18详细安装文档 本文安装MySQL5.7使用的是vm虚拟机rhel7操作系统 ,ftp文件传输是FileZilla3.27,远程连接xssh5.0 1 登 ...

  3. centos系统下安装MySQL5.7.18

    1.首先安装依赖包 yum install -y gcc gcc-c++ ncurses-devel perl openssl-devel 最最重要的是,不要忘了安装openssl-devel 2.安 ...

  4. Linux下安装mysql5.6.11(找点有用的信息太费劲)(转)

    Linux下安装mysql5.6.11(找点有用的信息太费劲) (2013-04-25 10:25:09)     1.申请阿里云Linux服务器 昨天在阿里云申请了一个免费试用5天的Linux云服务 ...

  5. 转:Linux 编译安装 Mysql5.7

    http://broqiang.com/2017/04/18/Mysql-Install-5.7.18-Linux-Compile/ 原文 Linux 编译安装 Mysql5.7 Ubuntu 下快速 ...

  6. linux下安装mysql5.7方法与常见问题

    linux上安装mysql5.7 1.下载tar包,这里使用wget从官网下载 wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7 ...

  7. 阿里云服务器Linux CentOS安装配置(零)目录

    阿里云服务器Linux CentOS安装配置(零)目录 阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器 阿里云服务器Linux CentOS安装配置(二)yum安装svn 阿里云服 ...

  8. 阿里云服务器Linux CentOS安装配置(九)shell编译、打包、部署

    阿里云服务器Linux CentOS安装配置(九)shell编译.打包.部署 1.查询当前目录以及子目录下所有的java文件,并显示查询结果 find . -name *.java -type f - ...

  9. 阿里云服务器Linux CentOS安装配置(八)nginx安装、配置、域名绑定

    阿里云服务器Linux CentOS安装配置(八)nginx安装.配置.域名绑定 1.安装nginx yum -y install nginx 2.启动nginx service nginx star ...

随机推荐

  1. centos 7 MysSQL 5.7.23 源码安装

    MySQL 5.7.23 源码安装 CentOS 7 将默认数据库MySQL替换成了Mariadb. 这里会从系统的环境准备开始一步一步安装. 环境准备 系统版本 内核版本 IP地址 Centos 7 ...

  2. 如何提高 PHP 代码的质量?第二部分 单元测试

    在“如何提高 PHP 代码的质量?”的前一部分中:我们设置了一些自动化工具来自动检查我们的代码.这很有帮助,但关于我们的代码如何满足业务需求并没有给我们留下任何印象.我们现在需要创建特定代码域的测试. ...

  3. mysql 中文不显示问题

    MySQL的字符集支持(Character Set Support)有两个方面: 字符集(Character set)和排序方式(Collation).对于字符集的支持细化到四个层次: 服务器(ser ...

  4. cmd for install pygame in python 3.7

    Higher version Python better and convinient to use! Down load pygame whl file: C:\Work\software>p ...

  5. 【并发编程】ThreadLocal的兄弟InheritableThreadLocal

    本博客系列是学习并发编程过程中的记录总结.由于文章比较多,写的时间也比较散,所以我整理了个目录贴(传送门),方便查阅. 并发编程系列博客传送门 引子 public class InheritableT ...

  6. 西瓜哥:公有云也“All-Flash”?

    本文转载自 高端存储知识 Gartner在2018年Market Insight: Preparing for the SSD Rise and HDD Demise一文中指出:当闪存介质降到HDD每 ...

  7. Python微信公众号教程基础篇——收发文本消息

    1. 概述: 在本篇教程中,你将学会使用华为云弹性云服务器(以下简称 ECS)搭建微信公众号处理后台,使用Python语言编写对应的微信消息处理逻辑代码,接收从微信服务端转发过来的消息,并返回处理结果 ...

  8. Python自带又好用的代码调试工具Pdb学习笔记

    返璞归真 这几天项目有一个linux下部署数据库的操作,数据库使用python进行初始化安装.然后问题来了,由于linux服务器涉及安全要求,除了代码以来的Python3.6版本外不允许安装其他插件与 ...

  9. milvus安装及其使用教程

    milvus 简介 milvus是干什么的?通俗的讲,milvus可以让你在海量向量库中快速检索到和目标向量最相似的若干个向量,这里相似度量标准可以是内积或者欧式距离等.借用官方的话说就是: Milv ...

  10. 【关注图像采集视频传输】之 Cy3014 usb3.0 FIFO接口

    CYUSB3014延续了CY7C68013A最吸引人的地方,那就是实现高速数据传输的Slave FIFO接口,应用这种模式,据说数据传输率可以达到320MB/s. 同USB2.0的芯片CY7C6801 ...