Centos7安装并配置mysql5.6

时间:2022-07-27 03:20:31

1.下载安装包:https://pan.baidu.com/s/18xAumOggjm9bu9Wty6kYjg

2、卸载系统自带的Mariadb

2.1查询已安装的mariadb

[root@localhost ~]# rpm -qa|grep mariadb

2.2卸载mariadb

[root@localhost ~]# rpm -e --nodeps 文件名

Centos7安装并配置mysql5.6

3、解压安装MySQL

3.1 删除etc目录下的my.cnf

[root@localhost ~]# rm /etc/my.cnf

3.2 执行以下命令来创建mysql用户组

[root@localhost ~]# groupadd mysql

3.3执行以下命令来创建一个用户名为mysql的用户并加入mysql用户组

[root@localhost ~]# useradd -g mysql mysql

3.4 将下载的压缩包放到 /usr/local/ 目录下(通过mv 要移动的文件  /usr/local/)

mv /mnt/myusb/mysql-5.6.-linux-glibc2.-x86_64.tar.gz /usr/local 

3.5  解压

tar -zxvf mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz

3.6 重命名文件夹

[root@localhost local]# mv 解压出来的文件夹名 mysql

3.7 copy一份/usr/local/mysql/support-files/下的my-default.cnf文件到/etc下

[root@localhost support-files]# cp my-default.cnf /etc/my.cnf

4、配置MySQL

、定位到安装目录
[root@localhost ~]# cd /usr/local/mysql
、修改当前目录拥有着为mysql用户
[root@localhost mysql]# chown -R mysql:mysql ./
、初始化数据库
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql
4、修改当前data目录拥有者为mysql用户
[root@localhost mysql]# chown -R mysql:mysql data

(2019-08-05更新)若在运行上面第三步时出现FATAL ERROR: please install the following Perl modules before executing

是缺少autoconf插件,安装参考我的另一篇博客:https://www.cnblogs.com/congcongdi/p/11304803.html

以下是数据库的一些相关配置,保证数据库更好的运行。

4.1授予my.cnf最大权限


[root@localhost ~]# chown  /etc/my.cnf

此处设置存在隐患:

  • 权限777,任何一个用户都可以改my.cnf,存在很大的安全隐患
  • 在开启和关闭服务时会出现警告(Warning: World-writable config file '/etc/my.cnf' is ignored),可能会造成服务无法关闭

所以应该设置成644,设置为用户可读写,其他用户不可写.

4.2复制启动脚本到资源目录

[root@localhost mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysql

4.3增加mysqld服务控制脚本执行权限

[root@localhost mysql]# chmod +x /etc/rc.d/init.d/mysql

4.4将mysqld服务加入到系统服务

[root@localhost mysql]# chkconfig --add mysql

4.5检查mysqld服务是否已经生效

[root@localhost mysql]# chkconfig --list mysql
命令输出类似下面的结果:
mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
表明mysqld服务已经生效,在2、3、4、5运行级别随系统启动而自动启动,以后可以使用service命令控制mysql的启动和停止
命令为:service mysql start和service mysql stop

5、启动MySQL服务

[root@localhost mysql]# service mysqld start

Centos7安装并配置mysql5.6

6、配置环境变量,编辑/etc/profile,在文本最后添加:

#mysqL
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:${MYSQL_HOME}/bin

配置之后执行source /etc/profile使配置生效

7、安装完成后,登录数据库发现让输入密码,然后并不知道密码,查资料才知道centos7安装mysql时会得到一个系统给的初始密码,需要自己进行修改

此处不一定每个人都需要输密码,可能默认是无密码登录的,在要输入密码的时候直接回车即可。

方法一:

grep 'temporary password' /var/log/mysql.log

运行后会得到一个密码,如果你什么都没有查到,说明你的mysql数据库时默认没有密码的,可以直接输入mysql登录,若不行,可尝试第二种方法。

方法二:

原理:修改MySQL 的配置文件,使其跳过密码验证,可以无密码登录,然后进行密码修改,之后恢复原配置文件

步骤:

修改前要先启动mysql,检查其运行状态

systemctl start mysql  #启动
service mysqld status #查看运行状态

1>修改/etc/my.cnf

vim /etc/my.cnf

在配置文件的结束位置添加skip-grant-tables

Centos7安装并配置mysql5.6

2>重启MySQL

systemctl restart mysql

3>修改密码

  1.输入mysql免密码登录

  2.选择mysql数据库

  use mysql;

  3.修改密码

 update mysql.user set password=password(‘你的密码’) where user=’root’;

  4.修改完成后输入exit;退出,重新回到/etc/my.cnf该文件删除之前添加的skip-grant-tables语句即可完成密码修改

4> 重启MySQL,使用以下命令登录

mysql -uroot -p

然后输入上一步修改之后的密码即可登录。

9、允许远程访问数据库

由于数据库是放在服务器上的,没有可视化工具,操作不方便,所有可以允许远程访问,使用同一网段的有可视化工具的电脑就可以直接对数据库进行访问。

1>进入mysql  mysql -uroot -p  输入密码登录

2>选择mysql数据库use mysql;

3>修改root远程访问

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

  4>更新数据库

FLUSH PRIVILEGES; 

  5>开放3306端口

Centos7安装并配置mysql5.6

10、导入数据库

  1>首先建空数据库

mysql>create database abc;

  2>导入数据库

mysql>use abc;                  #选择数据库
mysql>set names utf8; #设置数据库编码
mysql>source sql文件所在路径; #导入数据

此时会看到很多查询语句,结束就导入成功了。

Centos7安装并配置mysql5.6的更多相关文章

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

    Centos7安装并配置mysql5.6完美教程 Centos7将默认数据库mysql替换成了Mariadb,对于我们这些还想使用mysql的开发人员来说并不是一个好消息.然而,网上关于Linux安装 ...

  2. CentOS7 安装和配置 mysql5.7

    1.下载 mysql源安装包 wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 2.安装mysql源 ...

  3. CentOS7安装及配置vsftpd (FTP服务器)

    CentOS7安装及配置vsftpd (FTP服务器) 1.安装vsftpd 1 yum -y install vsftpd 2.设置开机启动 1 systemctl enable vsftpd 3. ...

  4. 开发--CentOS-7安装及配置

    开发|CentOS-7安装及配置 本文主要进行详细讲解CentOS7.5系统的安装过程,以及CentOS系统初始化技术.我并不想将这篇文章变成一个教程,尽管我将详细的进行每一步的讲解,enjoy! 前 ...

  5. CentOS7安装及配置vsftpd (FTP服务器FTP账号创建以及权限设置)

    本文章向大家介绍CentOS7安装及配置vsftpd (FTP服务器FTP账号创建以及权限设置),主要包括CentOS7安装及配置vsftpd (FTP服务器FTP账号创建以及权限设置)使用实例.应用 ...

  6. CentOS7 YUM安装与配置 MySQL5.7

    原文链接:http://blog.csdn.net/xyang81/article/details/51759200 安装环境:CentOS7 64位,MySQL5.7 1.配置YUM源 在MySQL ...

  7. centos7安装并配置postgresql

    安装并配置postgresql,参考以下两篇文章即可 https://www.postgresql.org/download/linux/redhat/ http://www.jianshu.com/ ...

  8. Centos7安装与配置domain模式wildfly(默认配置)

    (1)安装与配置JDK8 1)使用wget下载JDK8: wget --no-check-certificate --no-cookies --header "Cookie: oraclel ...

  9. CentOS7 安装、配置 Memcached

    点击访问原文地址 介绍 Memcached 是一个分布式.高性能的内存缓存系统,通过缓存内存中的数据和对象,提高和加速动态 web 应用程序的性能.它主要用于加速对数据库重度使用的站点. Memcac ...

随机推荐

  1. [MVC]如何删除文章内容中的图片

    1.实现代码 if (!string.IsNullOrWhiteSpace(entity.Content)) { var immgList = TextHelper.GetImgUrlList(ent ...

  2. Sql 常用时间转换

    CONVERT(varchar(100), GETDATE(), 0); -- 08 31 2015 04:57PM CONVERT(varchar(100), GETDATE(), 20); --2 ...

  3. Codeforces Round #200 (Div. 2) E. Read Time(二分)

    题目链接 这题,关键不是二分,而是如果在t的时间内,将n个头,刷完这m个磁盘. 看了一下题解,完全不知怎么弄.用一个指针从pre,枚举m,讨论一下.只需考虑,每一个磁盘是从右边的头,刷过来的(左边来的 ...

  4. Runloop之个人理解

    Runloop之个人理解更像是一种线程等待机制,传统线程的消息传入机制,线程收到什么样的消息,就执行什么样的动作,如果是信号量队列型的,其实就基本实现了线程在无消息时挂住休眠;而不是在每隔一段时间就要 ...

  5. Vim中split的使用方法

    Vim中split的使用方法 一.作用 用split可以显示两个不同的文件:或者同时显示一个文件的两个不同地方:又或者并排比较两个文件.这一切都可以通过分割窗口实现.如下图,左边的两个窗口是mytoo ...

  6. 关于delete和delete[]

    [精彩] 求问delete和delete[] 的区别??http://www.chinaunix.net/jh/23/311058.html C++告诉我们在回收用 new 分配的单个对象的内存空间的 ...

  7. 鹅厂揭秘——高端大气的App电量測试

    怎样评价我们开发出来的应用是耗电还是不耗电,怎样測试?这就是我们今天讨论的主题--电量測试,一个在移动应用中新出现的測试类型. 作者简单介绍 watermark/2/text/aHR0cDovL2Js ...

  8. Class.forName不能加载abstract原因

    今天看到单例模式时,突然想起,单例模式的情况是不让其他类来构造这个类本身,也就是不让new构造器,所以我们一般都会私有化这个构造器.我们知道abstract类是不能实例化的,我想利用abstract这 ...

  9. Selenium 笔记

    1. 截屏:get_screenshot_as_file(“C:\\b1.jpg”) 2. 退出:(1).close----关闭当前窗口 (2).quit()-----用于结束进程,关闭所有的窗口 一 ...

  10. 6M - 循环多少次?

    我们知道,在编程中,我们时常需要考虑到时间复杂度,特别是对于循环的部分.例如, 如果代码中出现 for(i=1;i<=n;i++) OP ; 那么做了n次OP运算,如果代码中出现 fori=1; ...