CentOS-7下安装MySQL5.6.22(转发)

一 安装环境

(1)CentOS版本:CentOS-7

查看方法:

[root@bogon 桌面]# cat /etc/redhat-release

CentOS Linux release 7.0.1406 (Core)

来源:官网下载

下载地址:http://www.centos.org/

(2)MySQL版本:MySQL-5.6.22

来源:官网下载

下载地址:https://edelivery.oracle.com/EPD/Search/handle_go

或者http://pan.baidu.com/s/1dDu6n9R

名称:MySQL Database 5.6.22 RPM for Oracle Linux / RHEL 7 x86 (64bit)

二 安装方式选择

在网上搜了一下,Linux下安装MYSQL有三种方式:

1 通过yum命令在线下载安装

2 下载离线rpm安装包安装

3 下载源码编译安装

方式1不打算用,因为我们大部分项目服务器是不能直接上Internet的,网上关于在线安装的教程很多,方式3对于只要应用MYSQL的人来说没必要多此一举。

三 安装步骤

1. 解压下载的zip包,会发现有以下几个rpm包:

MySQL-client-advanced-5.6.22-1.el7.x86_64.rpm

MySQL-devel-advanced-5.6.22-1.el7.x86_64.rpm

MySQL-embedded-advanced-5.6.22-1.el7.x86_64.rpm

MySQL-server-advanced-5.6.22-1.el7.x86_64.rpm

MySQL-shared-advanced-5.6.22-1.el7.x86_64.rpm

MySQL-shared-compat-advanced-5.6.22-1.el7.x86_64.rpm

MySQL-test-advanced-5.6.22-1.el7.x86_64.rpm

2. 卸载MariaDB

如果直接点击rpm包安装会得到错误提示。因为CentOS的默认数据库已经不再是MySQL了,而是MariaDB,为什么呢?

MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

查看当前安装的mariadb包:

[root@bogon 桌面]# rpm -qa | grep mariadb

将它们统统强制性卸载掉:

[root@bogon 桌面]# rpm -e --nodeps mariadb-libs-5.5.35-3.el7.x86_64

[root@bogon 桌面]# rpm -e --nodeps mariadb-5.5.35-3.el7.x86_64

[root@bogon 桌面]# rpm -e --nodeps mariadb-server-5.5.35-3.el7.x86_64

3. 安装MYSQL

双击下面三个包进行自动安装:

MySQL-client-advanced-5.6.22-1.el7.x86_64.rpm

MySQL-devel-advanced-5.6.22-1.el7.x86_64.rpm

MySQL-server-advanced-5.6.22-1.el7.x86_64.rpm

提示:其实第二个包devel我也不知道是干什么的,也不知道是不是必须的(上网搜了一下应该不是必须的),没有测试是否必须就已经点来装上了,也不想花时间去测试是否必须了,有测试过的朋友麻烦留言告知。

4. 启动MYSQL

[root@bogon 桌面]#service mysql start

得到错误:ERROR!The server quit without updating PID file

我们这里主要是因为:selinux惹的祸,如果是centos系统,默认会开启selinux。解决方法是关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器。

然后再启动mysql就没问题了:

[root@bogon 桌面]#service mysql start

查看MySQL运行状态:

[root@bogon 桌面]# service mysql status

SUCCESS! MySQL running (2377)

 

 

5. 默认root用户登录MYSQL

如果安装过程并没有设置密码 通过mysql -u root

可以进入MySQL,则可以设置一个密码通过命令

set password=password('新密码');

 

安装中设置了密码则:

[root@bogon 桌面]# mysql -u root -p

Enter password:

ERROR 1045 (28000):Access denied for user 'root'@'localhost' (using password: YES)

发现有有错误,然后在网上查了一下说使用下面命令修改root初始化密码:

[root@bogon 桌面]# /usr/bin/mysqladmin -u root password 'passok'

/usr/bin/mysqladmin: connect to server at'localhost' failed

error: 'Accessdenied for user 'root'@'localhost' (using password: NO)'

发现MYSQL数据库默认的root用户还是没办法设置密码进行登录,需要做一下操作:

重置MySQL中root用户密码及验证

还是不行,然后在网上又找到一个重置MySQL中root用户密码及验证的方法:

(1) 停止MySQL服务

[root@bogon 桌面]# service mysql stop

Shutting down MySQL.. SUCCESS!

(2) 输入绕过密码认证命令

[root@bogon 桌面]# mysqld_safe --user=mysql --skip-grant-tables--skip-networking &

[1] 5807

150117 22:23:31 mysqld_safe Logging to '/var/lib/mysql/bogon.err'.

150117 22:23:31 mysqld_safe Starting mysqlddaemon with databases from /var/lib/mysql

(3) 输入登录用户命令

[root@bogon 桌面]# mysql -u root mysql

Reading table information for completion oftable and column names

You can turn off this feature to get aquicker startup with -A

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 1

Server version:5.6.22-enterprise-commercial-advanced MySQL Enterprise Server - AdvancedEdition (Commercial)

Copyright (c) 2000, 2014, Oracle and/or itsaffiliates. All rights reserved.

Oracle is a registered trademark of OracleCorporation and/or its

affiliates. Other names may be trademarksof their respective

owners.

Type 'help;' or '\h' for help. Type '\c' toclear the current input statement.

(4) 输入修改root密码SQL语句

mysql> UPDATEuser SET Password=PASSWORD('passok') where USER='root';

Query OK, 4 rows affected (0.04 sec)

Rows matched: 4 Changed: 4 Warnings: 0

(5) 输入数据刷新命令

mysql> FLUSHPRIVILEGES;

Query OK, 0 rows affected (0.00 sec)

(6) 退出

mysql> quit

Bye

(7) 启动MYSQL

[root@bogon 桌面]# service mysql start

Starting MySQL SUCCESS!

登录mysql,查看所有数据库:

[root@bogon 桌面]# mysql -u root -p

mysql> show databases;

ERROR 1820 (HY000):You must SET PASSWORD before executing this statement

还是有错误啊,提示要再设置一下密码:

mysql> SETPASSWORD = PASSWORD('passok');

Query OK, 0 rows affected (0.00 sec)

显示数据库:

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| test |

+--------------------+

4 rows in set (0.00 sec)

进入数据库创建表、显示表:

mysql> use test;

Database changed

mysql> show tables;

Empty set (0.02 sec)

mysql>create table testTable(name char(15) not null,passwd char(15) not null);

Query OK, 0 rows affected (0.87 sec)

mysql> show tables;

+----------------+

| Tables_in_test |

+----------------+

| testTable |

+----------------+

1 row in set (0.00 sec)

备注:我的设置的密码是“passok”。大家在执行showdatabases收到错误ERROR 1820 (HY000): You must SET PASSWORD before executing this statement后也可以试试以下面方式登录mysql来执行showdatabases是否就不会有这个错误,我没有条件测试了:

登录MySQL界面:mysql –uroot -p(修改的新密码)

例如:mysql -u root -p123456

mysql安装后三个主要的目录及其功能:

/var/lib/mysql 数据库文件

/usr/share/mysql 命令及配置文件

/usr/bin mysqladmin、mysqldump等命令

6. windows7上使用workbench连接到远端MySQL Server

(1) 下载安装workbench(MySQL Workbench 6.2.4 MSI for Windows x86(64bit))

(2) Windows下安装mysql workbench需要具备以下环境:

Microsoft .NET Framework 4 Client Profile

Microsoft Visual C++ 2013 RedistributablePackage (x64)

第一个就不用说了,第二个下载地址在:

http://www.microsoft.com/zh-CN/download/details.aspx?id=40784

(3)安装完成之后打开,进行连接配置:

\

发现连不上。

打开cmd命令行输入telnet 192.168.1.108 3306也提示连接不上(BTY:windows7默认没有安装telnet,需要通过控制面板中的打开或者关闭windows功能来打开telnet客户端功能)。

如果要想远端访问MYSQL数据库,还需要:

(1) 给指定用户赋予远端访问mysql数据库的权限;

(2) 配置防火墙放开对3306端口的限制;

1给指定用户赋予远端访问mysql数据库的权限

授权命令是:

grant 权限1,权限2,…权限n on 数据库名.表名 to用户名@用户地址 identified by‘口令’

[root@bogon 桌面]# mysql -uroot-ppassok -e "GRANT ALL PRIVILEGES ON *.* TO'root'@'%' IDENTIFIED BY 'passok' WITH GRANT OPTION;"

Warning: Using a password on the commandline interface can be insecure.

用root用户的身份执行grant命令(-e参数表示执行一段sql命令),含义是:把在所有数据库的所有表的所有权限赋值给位于所有IP地址的root用户。如果你只想让位于192.168.1.108机器上面的root用户访问,命令如下:

mysql -uroot -ppassok -e "GRANT ALL PRIVILEGES ON *.* TO'root'@'192.168.1.108' IDENTIFIED BY 'passok' WITH GRANT OPTION;"

2 配置防火墙放开3306端口的限制

CentOS 7.0版本的防火墙,默认使用的是firewall,与之前的版本使用iptables是不一样,经过我的测试,只要firewall处于开启状态,就不可能远端访问MYSQL数据库。

首先将firewall关闭:

[root@bogon 桌面]# systemctl stop firewalld.service #停止firewall

[root@bogon 桌面]# systemctl disable firewalld.service #禁止firewall开机启动

CentOS虽然默认的不是iptables,但是也是已经安装好的,然后我按照网上的方法,为3306端口配置开放规则:

[root@bogon 桌面]# vi /etc/sysconfig/iptables

# sample configuration for iptables service

# you can edit this manually or usesystem-config-firewall

# please do not ask us to add additionalports/services to this default configuration

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --stateRELATED,ESTABLISHED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-ARH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp--dport 22 -j ACCEPT

-A INPUT -j REJECT --reject-withicmp-host-prohibited

-A FORWARD -j REJECT --reject-withicmp-host-prohibited

COMMIT

然后重启防火墙:

[root@bogon 桌面]# service iptables restart

然后立刻用mysql workbench测试,发现还是一样连不上。

然后执行下面命令永久关闭iptables:

[root@bogon bin]# chkconfig iptables off

注意:正在将请求转发到“systemctl disable iptables.service”。

然后立刻用mysql workbench测试,发现还是一样连不上。

重启CentOS系统,连接成功

\

看来要重启才能生效。

进一步测试:

查看firewall状态是关闭的:

[root@bogon bin]# service firewall status

Redirecting to /bin/systemctl status firewall.service

firewall.service

Loaded: not-found (Reason: No such file or directory)

Active: inactive (dead)

查看iptables状态也是关闭的:

[root@bogon bin]# service iptables status

Redirecting to /bin/systemctl status iptables.service

iptables.service - IPv4 firewall withiptables

Loaded: loaded (/usr/lib/systemd/system/iptables.service; disabled)

Active: inactive (dead)

然后我又启动iptables防火墙,还是能够访问,然后把/etc/sysconfig/iptables中的规则全部注释掉之后,还是能够访问,重启还是可以,不知道为什么,查看iptables的状态也是处于激活状态的:

[root@bogonbin]# service iptables status

Redirecting to /bin/systemctl status iptables.service

iptables.service - IPv4 firewall withiptables

Loaded: loaded (/usr/lib/systemd/system/iptables.service; disabled)

Active: active (exited) since 日 2015-01-1818:17:07 CST; 20s ago

Process: 14440 ExecStop=/usr/libexec/iptables/iptables.init stop(code=exited, status=0/SUCCESS)

Process: 14648 ExecStart=/usr/libexec/iptables/iptables.init start(code=exited, status=0/SUCCESS)

MainPID: 14648 (code=exited, status=0/SUCCESS)

1月 18 18:17:07 bogoniptables.init[14648]: iptables: Applying firewall rules: [ 确定 ]

1月 18 18:17:07 bogonsystemd[1]: Started IPv4 firewall with iptables.

反正永久关闭iptables防火墙是可以的,但是记得要重启。

7. 设置mysql开机自启动

设置开机启动服务选择使用chkconfig命令,可以看到我们永久性关闭iptables就用的这个命令,命令的格式如下:

chkconfig 功能说明:检查,设置系统的各种服务。

语法:chkconfig [--add][--del][--list][系统服务]或 chkconfig [--level <等级代号>][系统服务][on/off/reset]

--add 添加服务

--del 删除服务

--list 查看各服务启动状态

我这里安装好了mysql之后默认就是开机自启动的:

[root@bogon 桌面]# chkconfig --list mysql

注意:该输出结果只显示 SysV 服务,并不包含原生 systemd 服务。SysV 配置数据可能被原生 systemd 配置覆盖。

如果您想列出 systemd 服务,请执行 'systemctl list-unit-files'。

欲查看对特定 target 启用的服务请执行

'systemctl list-dependencies [target]'。

mysql 0:关 1:关 2:开 3:开 4:开 5:开 6:关

如果不是开机自启动,使用开启MySQL服务自动开启命令:

chkconfig mysqld on

chkconfig mysql on

转载于:https://www.cnblogs.com/Loadhao/p/6702752.html

2postfix-2.10.1-9.el7.x86_64 有缺少的需求 libmysqlclient.so.18()(64bit) 解决zabbix安装 zabbix-mysql-server 需要的依赖 阅读详情

相关推荐

linux centos7下源码 tar安装mysql5.7.30或mysql5.7.22 图文详解

之前用的rpm安装的每次安装都是最新的,,,导致每次版本不统一。。。 现在用tar包安装5.7.225.7.20一样的 5.7.20之后的和之前的版本还是有点不一样的 官网地址https://dev.mysql.com/downloads/mysql/ https://dev.mysql.com/doc/refman/5.7/en/environment-variables.html...

冰恋云的专栏 4万+

libmysqlclient.so.18

mha数据高可用必备插件,在mysql高可用的架构mha的时候需要下载。

CentOS 7环境下MySQL 5.7.22完整安装与配置实战指南

特性RPM (rpm -ivhYUM (依赖管理手动自动离线安装能力强中(需localinstall)软件源依赖无必须配置repo安装粒度文件级精确控制包级抽象日志透明度高(每步可见)中(汇总输出)维护便捷性低高适合场景审计严格、离线部署快速上线、持续更新最终决策应结合组织的安全政策、网络条件和运维团队技能水平综合评估。

weixin_31139479的博客 1191

libmysqlclient.so.18下载

libmysqlclient.so.18,欢迎大家下载!

Linux 安装 MySQL5.7

Linux 重装MySQL1、查看原有mysql [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9mpbdwnm-1657879066046)(%E6%96%87%E6%A1%A3%EF%BC%9Alinux%E5%AE%89%E8%A3%85mysql.note%20%E9%93%BE%E6%8E%A5%EF%BC%9Ahttp://note.youdao.com/noteshare?id=11227f24e917c718d9b9eb7d48566123&sub=C5D97

weixin_43900672的博客 1452

Centos7安装Mysql报错:postfix-2.10.1-9.el7.x86_64需要:libmysqlclient.so.18

Centos7使用命令安装Mysql时 rpm -ivh mysql57-community-release-el5-7.noarch.rpm 可能会出现如下报错: ---> 软件包 mysql-community-client.x86_64.0.5.7.18-1.el5 将被 安装 --> 解决依赖关系完成 错误:软件包:2:postfix-2.10.1-9.el7.x86_64 (@anaconda) 需要:libmysqlclient.so.18(libmysqlcl

null 1万+

Centos7安装并配置mysql5.6完美教程

Centos7安装并配置mysql5.6完美教程 2019年10月22日补充:鉴于该博客是博主大学时候写的,步骤比较多,推荐一种新的快捷安装方式,大家可参照我的博客中的MySQL安装部分进行操作,链接为:http://www.buildupchao.cn/bigdataplatform/2019/06/13/airflow-install-tutorial.html 如果不想采用上述方式,可继...

谦蓦的博客 4万+

内网linux安装mysql5.7.22

        很多的公司开发都是在内网,mysql也是装在内网,自己在内网安装的时候,发现了问题,这里记录一下,方便和我一样的人,本次安装的服务器事CentOS6.5  ps:这是我人生第一篇博客,此时此刻的我是无比激动的!!!1. 安装1.1 下载MySQLmysql官网下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads将...

zhaojun302563746的博客 6667

Linux-CentOS6.9安装MySQL-5.7.22

Linux-CentOS6.9安装MySQL-5.7.22 创建mysql用户组和用户 /usr/sbin/groupadd mysql /usr/sbin/useradd -g mysql mysql # 使用-r参数表示mysql用户是一个系统用户 不能登录 /usr/sbin/useradd -r -g mysql mysql 安装mysql依赖 yum install ...

gocuber的博客 1337

Centos7MySQL5.7.22安装

Centos7MySQL5.7.22安装   su root 1.系统约定 安装文件下载目录:/data/software Mysql目录安装位置:/usr/local/mysql 数据库保存位置:/data/mysql 日志保存位置:/data/log/mysql 2.安装文件下载目录 mkdir -p /data/software/ 3.解压压缩包到目标位置 cd /data/so...

孤独是一种美 918

Linux 卸载mysql-libs包出现错误

错误: 错误:依赖检测失败:     libmysqlclient.so.18()(64bit)(已安裝) postfix-2:2.10.1-6.el7.x86_64 需要     libmysqlclient.so.18(libmysqlclient_18)(64bit)(已安裝) postfix-2:2.10.1-6.el7.x86_64 需要 解决办法:依赖性的问题。 使用参...

jinchunzhao的博客 1681

mariadb卸载

mariadbcentos 7 卸载 mariadb 的正确命令检测是否启动ps aux|grep mariadb利用SERVICE 命令查看服务状态service 服务名 statusservice mariadb status强制杀死进程kill -s 9 1827停止服务systemctl stop mariadb启动服务systemctl start mariadb列出所有被安装的rpm p

华哥的专栏 1万+

libmysqlclient.so.18()(64bit) is needed by (installed) postfix-2:2.10.1-6.el7.x86_64 怎么解决

卸载MySQL 时有文件卸载不了:[root@iZwz95awar071umsfgn716Z init.d]# rpm -qa |grep -i mysqlmysql-community-libs-5.6.39-2.el7.x86_64mysql-community-common-5.6.39-2.el7.x86_64[root@iZwz95awar071umsfgn716Z init.d]# r...

有一种人仅仅是认识就很好了的博客 1万+

下载libmysqlclient.so.18

sudo wget -O /usr/lib/libmysqlclient.so.18 http://files.directadmin.com/services/es_7.0_64/libmysqlclient.so.18 鄙视收费的。

857技术社区 2282

【免费下载】 libmysqlclient.so.18 资源文件下载

libmysqlclient.so.18 资源文件下载 【下载地址】libmysqlclient.so.18资源文件下载 本仓库提供了一个资源文件的下载,该资源文件主要用于解决在编译或运行某些程序时遇到的 `libmysqlclient.so.18` 或 `libmysqlclient.so.20` 库文件缺失的问题。该...

gitblog_06523的博客 751

Linux(CentOS)开启和关闭防火墙

CentOS6 1、查看防火墙状态 service iptable status 2、开启和关闭防火墙 1) 永久性生效,重启后不会复原 开启: chkconfig iptables on 关闭: chkconfig iptables off 2) 即时生效,重启后复原 开启: service iptables start 关闭: service iptables st...

hjh872505574的专栏 670
上一篇: springmvc 后台向页面EasyUI的tree传递数据(JSon格式)
下一篇: CentOS7关闭防火墙方法
awqw2435
博客等级 码龄12年 0粉丝 0原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值