mysql 卸载

1.如果已安装成功 则需要卸载前请先关闭Mysql服务 命令:service mysql stop

2.使用 rpm 命令的方式查看已安装的mysql 命令:rpm -qa|grep mysql

3.使用yum安装的Mysql需要先进行清除 命令:yum remove mysql mysql-server mysql-libs mysql-server

4.再次查询是否有剩余文件 命令:rpm -qa|grep mysql

5.使用过rpm -ev +对应文件名 删除剩余文件 命令:

rpm -ev mysql80-community-release-el7-1.noarch
rpm -ev mysql-community-client-plugins-8.0.25-1.el7.x86_64
rpm -ev mysql-community-common-8.0.25-1.el7.x86_64

6.查询是否还存在Mysql相关遗漏文件(有则使用对应删除命令删除)

mysql 安装

1.下载mysql

mysql官网:https://dev.mysql.com/downloads/mysql/

将下载的mysql上传打linux

2.解压并重命名

[root@rsyncClient local]# tar -zxvf mysql-8.0.18-el7-x86_64.tar.gz -C /usr/local/ [root@rsyncClient local]# mv mysql-8.0.18-el7-x86_64/ mysql

3.在mysql根目录下创建data目录,存放数据

[root@rsyncClientopt]# cd /usr/local/mysql/
[root@rsyncClient mysql]# mkdir data

4.创建mysql用户组和mysql用户

[root@rsyncClient local]# groupadd mysql[root@rsyncClient local]# useradd -g mysql mysql

5.改变mysql目录权限

[root@rsyncClient local]# chown -R mysql.mysql /usr/local/mysql/

6.初始化数据库

[root@iZbp1iwvf9mlryt1ml8tdrZ mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data  --lower-case-table-names=1

7.配置mysql

在mysql/support-files创建文件my-default.cnf

[root@rsyncClient support-files]# cd /usr/local/mysql/support-files/
[root@rsyncClient support-files]# touch my-default.cnf

复制配置文件到/etc/my.cnf

[root@rsyncClient support-files]# cp -a ./my-default.cnf /etc/my.cnf
cp: overwrite ‘/etc/my.cnf’? y

编辑my.cnf

[client]
port=3306
socket=/tmp/mysql.sock[mysqld]
port=3306
user=mysql
socket=/tmp/mysql.sock
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

8.配置环境变量

编辑 / etc/profile 文件

[root@rsyncClient mysql]# vim /etc/profile
#配置mysql环境变量
PATH=/data/mysql/bin:/data/mysql/lib:$PATH
export PATH
#让其生效
[root@rsyncClient mysql]# source /etc/profile
#看环境变量是否生效
[root@rsyncClient mysql]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

9.启动mysql

[root@rsyncClient mysql]# systemctl start mysqld

启动失败报错1:

Job for mysql.service failed because the control process exited with error code. See “systemctl status mysql.service” and “journalctl -xe” for details.

解决方案:

[root@rsyncClient ~]# chown mysql:mysql -R /usr/local/mysql/
启动失败报错2:

[root@rsyncClient mysql]# service mysql start
/etc/init.d/mysql: ./bin/my_print_defaults: /lib/ld-linux.so.2: bad ELF interpreter: No such file or
directory  Starting MySQL. ERROR! The server quit without
updating PID file (/var/lib/mysql/rsyncClient.pid).
去这个目录下面查看 cat/usr/local/mysql/data/rsyncClient.err错误,对应的的解决,这里错误是因为my.conf配置错误

启动失败报错3:

mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file:No such file or directory
[root@rsyncClient init.d]# yum install libncurses.so.5
以这个为例,如果缺少这样依赖,直接用yum安装

启动失败报错4:

[root@rsyncClient data]# mysql -uroot -p
Enter password:
ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded:
/usr/lib/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory
身份验证插件不能加载

解决办法:

[root@rsyncClient lib]# vim /etc/my.cnf
在这个[mysqld]下添加一行:
default_authentication_plugin=mysql_native_password
如果忘记了密码在加上:
skip-grant-tables(跳过密码验证)等设置了密码就去掉

10. 使用systemctl命令启动关闭mysql服务

启动mysql服务:

#systemctl start mysqld.service

停止mysql服务

#systemctl stop mysqld.service

重启mysql服务

#systemctl restart mysqld.service

查看mysql服务当前状态

#systemctl status mysqld.service

设置mysql服务开机自启动

#systemctl enable mysqld.service

停止mysql服务开机自启动

#systemctl disable mysqld.service

11.mysql的基本操作

使用mysql客户端连接mysql

/usr/local/mysql/bin/mysql -u root -p password
修改mysql的默认初始化密码
alter user’root’@‘localhost’ identified by’root’;

创建用户 CREATE USER ‘用户名称’@‘主机名称’ IDENTIFIED BY ‘用户密码’

create user ‘yehui’@‘localhost’ identified by ‘yehui’;
#给所有远程登录的进行授权,此方式已经报错了
grant all privileges on . to ‘root’@‘%’ identified by ‘root’ with grant option;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘identified by ‘root’ with grant option’ at line 1

修改root用户可以远程连接

update user set Host=‘%’ where User=‘root’;

授予权限 grant 权限 on 数据库.表 to ‘用户名’@‘登录主机’ [IDENTIFIED BY ‘用户密码’];

grant replication slave on . to’yehui’@‘localhost’;
#刷新
flush privileges;
#权限问题可以参考https://www.cnblogs.com/php-linux/p/11561300.html
复制代码
12.防火墙问题

[root@rsyncClient data]# firewall-cmd --permanent --zone=public --add-port=3306/tcp #允许访问
success
[root@rsyncClient data]# firewall-cmd --reload #重新加载
success
[root@rsyncClient data]# firewall-cmd --permanent --zone=public --query-port=3306/tcp #查看是否开通访问权限
yes

doker 安装mysql8 并开启不区分大小写

如果要指定版本,使用下面的命令

$ docker pull mysql:8.0.16

创建数据目录和配置文件

在宿主机创建放置mysql的配置文件的目录和数据目录,并且进行授权

$ mkdir -p /usr/mysql/conf /usr/mysql/data$ chmod -R 755 /usr/mysql/

创建配置文件

在上面创建的配置文件目录/usr/mysql/conf下创建MySQL的配置文件my.cnf

$ vim /usr/mysql/conf/my.cnf

添加以下内容到上述创建的配置文件中

[client]#socket = /usr/mysql/mysqld.sockdefault-character-set = utf8mb4[mysqld]#pid-file        = /var/run/mysqld/mysqld.pid#socket          = /var/run/mysqld/mysqld.sock#datadir         = /var/lib/mysql#socket = /usr/mysql/mysqld.sock#pid-file = /usr/mysql/mysqld.pid
lower_case_table_names=1datadir = /usr/mysql/datacharacter_set_server = utf8mb4collation_server = utf8mb4_binsecure-file-priv= NULL# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0# Custom config should go here!includedir /etc/mysql/conf.d/

启动创建容器

$ docker run --restart=unless-stopped -d --name mysql -v /usr/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /usr/mysql/data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.16

参数解释:
-v : 挂载宿主机目录和 docker容器中的目录,前面是宿主机目录,后面是容器内部目录

-d : 后台运行容器

-p 映射容器端口号和宿主机端口号

-e 环境参数,MYSQL_ROOT_PASSWORD设置root用户的密码

执行上述命令后,执行查询容器的命令就可以看到创建的mysql容器

$ docker ps -a

结果如下所示:

问题

上述虽然安装好了mysql,但是使用远程的Navicat连接时提示错误,不能正确连接mysql,此时需要修改按照下面说的步骤修改一下mysql的密码模式以及主机等内容才可以。

修改mysql密码以及可访问主机

  • 进入容器内部
$ docker exec -it mysql /bin/bash
  • 连接mysql
$ mysql -uroot -p
  • 使用mysql库
$ mysql> use mysql
  • 修改访问主机以及密码等,设置为所有主机可访问
$ mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';

如果执行失败修改user表中的Host: update user set Host=‘%’ where User=‘root’;   
说明: % 代表任意的客户端,可替换成具体IP地址。再执行上面SQL;

注意:

mysql_native_password,mysql8.x版本必须使用这种模式,否则navicate无法正确连接

  • 刷新
$ mysql> flush privileges

经过以上步骤,再次远程使用Navicat连接数据库时就可以正常连接了。

查看是否区别大小写:show VARIABLES like ‘%low%’ 已生效

Linux彻底卸载删除Mysql和安装mysql相关推荐

  1. linux系统安装(CentOS 7) 和软件安装(mysql,tomcat,jdk)

    linux系统安装(CentOS 7) 和软件安装(mysql,tomcat,jdk) 目录 linux系统安装(CentOS 7) 和软件安装(mysql,tomcat,jdk) 软件准备 ## 系 ...

  2. Linux下yum安装MySQL yum安装MySQL指定版本

    yum 安装MySQL 1. 检查安装情况 查看有没有安装过: yum list installed MySQL* (有存在要卸载yum remove MySQL*) rpm -qa | grep m ...

  3. yum如何卸载mysql_linux下 yum 安装mysql和卸载

    1.查看有没有安装过: yum list installed mysql* rpm -qa | grep mysql* 2.查看有没有安装包: yum list mysql* 3.安装mysql客户端 ...

  4. linux 安装mysql make_Linux安装mysql——源码安装

    1.假设已经有mysql-5.5.10.tar.gz以及cmake-2.8.4.tar.gz两个源文件 (1)先安装cmake(mysql5.5以后是通过cmake来编译的) [root@ rhel5 ...

  5. linux怎么卸载源码包安装mysql_Linux下卸载和安装MySQL[rpm包]

    [日期:2012-08-03] 来源:Linux社区  作者:wang_tianbao [字体:大 中 小] 一.卸载原来的mysql: 卸载一: 输入: #rpm -qa | grep -i mys ...

  6. l源码安装mysql升级_[Linux]javaEE篇:源码安装mysql

    javaEE :源码安装mysql 安装环境 系统平台:CentOS-7-x86_64 数据库版本:mysql-5.6.14 源码安装mysql步骤: 一.卸载mysql 安装mysql之前,先确保l ...

  7. 32linux下安装mysql5.7_【Linux】【MySQL】安装MySQL,版本5.7

    本文环境:CentOS7,安装包放在/home/mysql 或者直接在Linux上wget https://downloads.mysql.com/archives/get/p/23/file/mys ...

  8. linux 无外网情况下安装 mysql

    由于工作需要,需要在一台装有 CentOS 系统的测试服务器上安装 MySQL ,由于该服务器上存有其他比较重要的测试数据,所以不能连接外网.由于之前安装 MySQL 一直都是使用 yum 命令一键搞 ...

  9. 【实施工程师之家】linux安装mysql(yum安装mysql)

    目录 查看环境 修改下载位置 安装 repo 包 安装 MySQL 启动MySQL 设置开机自启 登录MySQL 修改密码 外网访问 ​ 防火墙设置,开放3306端口 查看环境 rpm -qa | g ...

最新文章

  1. 坑系列 —— 缓存+哈希=高并发?
  2. 华为北大等联手打造的Transformer竟在CV领域超过了CNN:多项底层视觉任务达到SOTA...
  3. GIS 缓冲区应用及算法实现
  4. 微软宣布推出Windows Embedded Compact 2013正式版
  5. aapt2 生成资源 public flag 标记
  6. Html img 标签
  7. call / apply / bind
  8. 线程同步以及yield()、wait()、Notify()、Notifyall()
  9. LeetCode 2057. 值相等的最小索引
  10. 维大杀器来了,未来云上服务器或将实现无人值守
  11. Codeforces Round #162 (Div. 2) B. Roadside Trees (Simplified Edition)
  12. Win32 SDK消息处理技巧
  13. 错误契约(FaultContract)与异常处理(转)
  14. 论文赏析[ACL18]直接到树:基于神经句法距离的成分句法分析
  15. 解决IDEA中maven搭建web项目,在maven中有依赖但是在部署包中生成不出依赖
  16. USB Type C告白
  17. 为什么 DNS 使用 UDP 协议
  18. 核心价值观与企业文化管理实践---基于华为的企业文化的管理实践-林 安老师
  19. html语言如何排版,html语言,使用table排版.docx
  20. ARMV8体系结构简介:AArch64系统级体系结构之Self-hosted debug

热门文章

  1. 机器学习从入门到出家
  2. 西瓜书--学习笔记1
  3. 使用mybatisplus的insert方法报错:org.apache.ibatis.reflection.ReflectionException: Could not set property
  4. 延迟标记 (线段树)
  5. vuex mapGetters
  6. 使用腾讯位置服务实现类滴滴汽车沿轨迹行驶功能
  7. “是啊,不是姓朱的那种败类就好,
  8. 头歌(educoder)第 5 章 Java 面向对象之类和对象 Java面向对象 - 类与对象
  9. Java笔记2:使用命令行编译运行“Helloworld”
  10. MySQL历史,名称由来及版本