centOS安装Mysql指南

说明:使用操作系统centOS6.4 32位系统;mysql:mysql-5.7.10-linux-glibc2.5-i686.tar.gz;

一、准备

下载mysql

wget http://mirrors.sohu.com/mysql/mysql:mysql-5.7.10-linux-glibc2.5-i686.tar.gz

注:所有shell命令都以root用户执行。随着mysql版本的更新,新版本的安装方式会有所更改,可以参考mysql压缩包中的INSTALL-BINARY文件。

此处我下载的是MySQL-5.7下的mysql-5.7.10-linux-glibc2.5-x86_64.tar.gz

二、解压缩文件并移动到指定目录 

在home文件夹下创建一个mysql文件夹,作为存放mysql文件的目录

[root@localhost ~]# cd /home

[root@localhost ~]# mkdir mysql

回到保存下载压缩文件的目录解压压缩文件

[root@localhost ~]# cd /home/user/Downloads

[root@localhost ~]# tar -zxvf mysql-5.7.10-linux-glibc2.5-x86_64.tar.gz

移动文件到指定目录

[root@localhost ~]# mv mysql-5.7.10-linux-glibc2.5-x86_64  /home/mysql/mysql-5.7.10

三、安装运行mysql所需的包 

[root@localhost ~]# yum search libaio

[root@localhost ~]# yum install libaio

四、安装及配置mysql

参照mysql文件中的INSTALL-BINARY;

[root@localhost ~]# groupadd mysql #添加一个mysql用户组

[root@localhost ~]# useradd -r -g mysql -s /bin/false mysql #设置-s /bin/false表示mysql不能作为登入用户

[root@localhost ~]# cd /usr/local [root@localhost ~]# ln -s /home/mysql/mysql-5.7.10 mysql#在/usr/local/目录下创建一个mysql链接

[root@localhost ~]# cd mysql [root@localhost ~]# mkdir data #作为存放数据的目录

[root@localhost ~]# chmod 770 data #修改data目录的进入权限

[root@localhost ~]# chown -R mysql:mysql . #修改当前文件夹的用户权限和组权限

[root@localhost ~]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data  # MySQL 5.7.10初始化设置

执行该命令后,注意最后一行的[Note]信息

[Note] A temporary password is generated for root@localhost: )9AsdF(+86h49 生成的初始密码在首次以root用户登入时使用;

[root@localhost ~]# bin/mysql_ssl_rsa_setup --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data   # MySQL 5.7.10安全连接设置

[root@localhost ~]# chown -R root . 
[root@localhost ~]# chown -R mysql data  
[root@localhost ~]# cd /var/log 
[root@localhost ~]# mkdir mysql  #作为存放数据库运行日志的文件夹

[root@localhost ~]# cd /usr/local/mysql/

[root@localhost ~]# bin/mysqld_safe --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data & #此命令在后台运行

将mysql加入到可控制启动服务的文件夹内,并命名mysql,即service可控制的服务名,届时可用service mysql start|stop控制启动及关闭mysql

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

至此可用service mysql start来启动mysql数据库。  
配置开机启动mysql服务

[root@localhost ~]# chkconfig --add mysql 
[root@localhost ~]# chkconfig --level 2345 mysql on

五、首次登入mysql 
[root@localhost ~]# mysql -u root -p 
Enter password:输入之前生成的临时密码 mysql> SET PASSWORD = PASSWORD('123456');  #注意最后的分号;

六、其他配置 

a) 开启防火墙mysql 3306端口的外部访问 CentOS升级到7之后,使用firewalld代替了原来的iptables。

下面记录如何使用firewalld开放Linux端口

--zone      : 作用域,网络区域定义了网络连接的可信等级。这是一个一对多的关系,这意味着一次连接可以仅仅是一个区域的一部分,而一个区域可以用于很多连接

--add-port  : 添加端口与通信协议,格式为:端口/通讯协议,协议是tcp 或 udp

--permanent : 永久生效,没有此参数系统重启后端口访问失效

[root@localhost ~]#  firewall-cmd --zone=public --add-port=3306/tcp --permanent

[root@localhost ~]#  firewall-cmd --reload  #重启防火墙

b) 五个mysql的GRANT例子 (mysql的用户,非Centos用户)

例一、允许使用用户名root密码123456从任何主机连接到mysql服务器 ,该创建的root账号只是从外部访问的账号,与内部linux访问该mysql时所用root不同,内部linux访问该mysql的root账号也不是linux的系统root账号

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; 
 
例二、给来自192.168.155.1的用户user1分配可对数据库dbname的tablename表进行SELECT,INSERT,UPDATE,DELETE,CREATE,DROP等操作的权限,并设定密码为123456。 对表操作权限还有好多如ALTER等

mysql>GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON dbname.tablename TO 'user1'@'192.168.155.1' IDENTIFIED BY '123456';

mysql>GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON dbname.tablename TO 'user1'@'192.168.155.1' IDENTIFIED BY '123456';

例三、给来自192.168.155.1的用户user2分配可对数据库dbname所有表进行所有操作的权限,并设定口令为123456。

mysql>GRANT ALL PRIVILEGES ON dbname.* TO 'user2'@'192.168.155.1' IDENTIFIED BY '123456';

例四、给来自192.168.155.1的用户user3分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123456。

mysql>GRANT ALL PRIVILEGES ON *.* TO 'user3'@'192.168.155.1' IDENTIFIED BY '123456';

例一、给本机用户user4分配可对所有数据库的所有表进行所有操作的权限,并设定口令为123456。

mysql>GRANT ALL PRIVILEGES ON *.* TO 'user4'@'localhost' IDENTIFIED BY '123456';

例五、刷新权限 ;

mysql>FLUSH PRIVILEGES;

c)   参考:

1、mysql安装文件中的INSTALL-BINARY文件

2、http://www.cnblogs.com/dreamhome/p/4716425.html;

3、linux配置防火墙打开3306端口

4、CentOS7 Firewall防火墙详解

我也是初学mysql,才疏学浅,肯定有说得不好的地方,希望大家多多指点,我会及时改正,但请千万不要恶语相加啊!谢谢。

如果喜欢本文,请在后面留个言哈。

centOS安装Mysql指南的更多相关文章

  1. centos安装 mysql

    centos安装 mysql 1. 下载mysqlmysql被oracle收购后现在退出了企业版和社区版本,社区版本是开源的,企业版是收费的.社区版可以下载源码也可以下载二进制文件包.源码安装比较麻烦 ...

  2. Ubuntu 14 安装MySQL指南

    ubuntu 14 安装MySQL指南安装MySQLsudo apt-get install mysql-server这个应该很简单了,而且我觉得大家在安装方面也没什么太大问题,所以也就不多说了,下面 ...

  3. CentOS安装MySQL

    好记性不如烂笔头,记录一下 yum list installed | grep mysql #检查是否安装了mysql yum -y remove mysql-libs.x86_64 #卸载已经安装的 ...

  4. centos 安装 mysql 5.6和workbench

    windows下安装mysql很简单,去官网找到.msi文件,一键安装就OK了. Centos下面安装Mysql5.6其实也是蛮简单的. 注意:centos6.5默认mysql版本是5.1的 1.添加 ...

  5. Linux学习笔记:CentOS安装MySQL

    [1]安装版本: 1.1 CentOS-7-x86_64-Everything-1503-01    1.2 MySQL-5.6.27-1.linux_glibc2.5.x86_64.rpm-bund ...

  6. CentOS安装MySQL问题汇总

    遇到的错误 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) denied for ...

  7. centos 安装mysql密码修改后还是不能连接的原因

    centos 上安装mysql密码修改后还是不能连接出现错误:ERROR 1142 (42000): SELECT command denied to user ''@'localhost' for ...

  8. 1.centOS安装Mysql

    上个星期研究了一个星期的Mysql,从今天起把学到的东西整理一下. ---------------------------------------------- mysql安装本人亲试过两种安装方式, ...

  9. 在 Centos 安装 MySQL

    MySQL是开源的数据库管理系统,通常作为LEMP(Linux, Nginx, MySQL/MariaDB, PHP/Python/Perl)技术栈的一部分,而被安装.RedHat 会害怕 Oracl ...

随机推荐

  1. linux第1天 fork exec 守护进程

    概念方面 文件是对I/O设备的抽象表示.虚拟存储器是对主存和磁盘I/O设备的抽象表示.进程则是对处理器.主存和I/O设备的抽象表示 中断 早期是没有进程这个概念,当出现中断技术以后才出现进程这个概念 ...

  2. 3D语音天气球(源码分享)——完结篇

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 开篇废话: 由于这篇文章是本系列最后一篇,有必要进行简单的回顾和思路整理. 这个程序是由两 ...

  3. paper 73 :HDR(High Dynamic Range Imaging)在摄影中指高动态范围成像

    HDR(High Dynamic Range Imaging)在摄影中指高动态范围成像.国内的教程基本语焉不详,找到一篇比较详尽的国外教程翻译出来,希望对大家有帮助.^_^ 原文地址:http://p ...

  4. 01---Net基础加强

    声明两个变量:int n1 = 10, n2 = 20;要求将两个变量交换,最后输出n1为20,n2为10.交换两个变量,使用第三个变量! class Program { static void Ma ...

  5. 在linux中的virtualbox无法挂载usb设备的解决方法

    方法来源于网络. 在安装完virtualbox之后,virtualbox会建立一个名为 vboxusers 的组,将你的用户名加入到该组即可. 命令参考: #usermod -a -G vboxuse ...

  6. Openstack的HA解决方案【替换原有的dashboard】

    0. 进入到/etc/haproxy/conf.d/目录下 mv 015-horizon.cfg 150-timaiaas.cfg 将原有的dashboard的ha配置文件做为自己的配置文件. 1. ...

  7. android 项目学习随笔三(Fragment )

    1.在主页面(activity引用Fragment )的布局文件中定义FrameLayout ,加载Fragment  <FrameLayout xmlns:android="http ...

  8. jsp页面的跳转取值

    <p >工单管理 >> <c:if test="${code eq 0}">全部工单>>详情页</c:if> <c ...

  9. 【python cookbook】【数据结构与算法】12.找出序列中出现次数最多的元素

    问题:找出一个元素序列中出现次数最多的元素是什么 解决方案:collections模块中的Counter类正是为此类问题所设计的.它的一个非常方便的most_common()方法直接告诉你答案. # ...

  10. iOS 警告窗口

    - (IBAction)buttonPressed:(id)sender {        NSDate *date=self.datePicker.date;    NSString *messag ...