1.添加mysql组和mysql用户,用于设置mysql安装目录文件所有者和所属组。

①groupadd mysql

②useradd -r -g mysql mysql

2.将二进制文件解压到指定的安装目录,通用的/usr/local

①解压二进制文件, tar -zxvf  /usr/local/mysql-5.7.13-linux-glibc2.5-i686.tar.gz

②mv mysql-5.7.13-linux-glibc2.5-i686 mysql   更改mysql目录名称

③cd mysql 进入mysql文件夹,也就是mysql所在的目录,

④更改mysql目录所属的组和用户。更改权限

chown -R mysql .

chgrp -R mysql .

3.初始化 MySQL 配置表 

执行mysql_install_db脚本,对mysql中的data目录进行初始化并创建一些系统表格。

bin/mysql_install_db --user=mysql

报错:

2016-07-15 14:50:14 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
 2016-07-15 14:50:14 [ERROR]   The data directory needs to be specified.

需要指定data目录,注意mysql服务进程mysqld运行时会访问data目录,所以必须由启动mysqld进程的用户(就是我们之前设置的mysql用户)执行这个脚本,  或者用root  执行,但是加上参数--user=mysql。

上文还有警告信息,说mysql_install_db 命令已经是弃用的,建议切换到mysqld --initialize命令

注:

mysql5.7和之前版本不同,很多资料上都是这个命令:../scripts/mysql_install_db --user=mysql,而mysql5.7的mysql_install_db命令是在bin目录下  的并且建议  用 mysqld --initialize命令

mysql5.7之前版本初始化配置表命令:

script/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/

--user  启动mysql的用户

--basedir  mysql安装目录

--datadir  mysql数据仓库目录

①初始化表配置正确执行步骤:

  1. [root@rhel5-32 mysql]# mkdir data
  2. [root@rhel5-32 mysql]# bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

  注意最后一行,这也是和之有版本不同的地方,它给了root一个初始密码,后面要登录的时候要用到这个密码。

  mysql初始化工作依赖libaio包,如果没有安装就会出现这个错误 “bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory”。
  检查是否已安装:  yum search libaio 或 apt-cache search libaio  如果没有,则安装:  yum install libaio 或 apt-get install libaio1  yum适用于centos/readhat等系统,apt-get适用于ubuntu、debian系统,请按自己需要选择。

②将mysql/目录下除了data/目录的所有文件,改回root用户所有,mysql用户只需作为mysql/data/目录下所有文件的所有者。

  1. [root@rhel5-32 mysql]# chown -R root .
  2. [root@rhel5-32 mysql]# chown -R mysql data

③mysql5.7以后配置文件需要删除my.cnf关键配置, mysql5.7之前默认配置文件中是有配置项的,不用手动修改

  rm -rf /etc/my.cf

 
4. 将mysqld服务加入开机自启动项。

将{mysql}/ support-files/mysql.server 拷贝为/etc/init.d/mysql并设置运行权限,这样就可以使用service mysql命令启动/停止服务,

否则就只能使用{mysql}/bin/mysqld_safe &命令来启动服务

还需要把mysql.server中basedir的相关路径,改为自定义的路径,默认路径是/usr/local/mysql

  1. #cp mysql.server /etc/init.d/mysql
  2. #chmod +x /etc/init.d/mysql

把mysql注册为开机启动的服务

   1.chkconfig --add mysql

查看是否添加成功

  1. [root@rhel5-32 mysql]# chkconfig --list mysql
  2. mysqld          0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭

5.mysql服务的开启和关闭

  1. #/etc/init.d/mysql start   或者   serivce mysql start  或者  bin/mysqld_safe&
  2. #/etc/init.d/mysql stop    或者   service mysql stop   或者  bin/mysqladmin -uroot -p

注:在bin/mysqld_safe&这个启动脚本里已默认设置--user=mysql;在脚本末尾加&表示设置此进程为后台进程,区别就是在控制台输入bg,即可将当前进  程转入后台,  当前shell  可进行其他操作。

bin/mysqladmin -uroot -p  (注意此时的root是指mysql的root用户)

 
6.加入环境变量建立软链接:运行mysql命令会出现   -bash: mysql:command not found
 ln -s /Ultrapower/test/mysql/bin/mysql  /usr/local/bin
 ln -s /Ultrapower/test/mysql/bin/mysqladmin  /usr/local/bin
 ln -s /Ultrapower/test/mysql/bin/mysqld_safe  /usr/local/bin
 修改/etc/profile文件使其永久性生效,并对所有系统用户生效,在文件末尾加上如下两行代码
 PATH=$PATH:/Ultrapower/test/mysql:/Ultrapower/test/mysql/bin
 export PATH
 最后:执行 命令source /etc/profile或 执行点命令 ./profile使其修改生效,执行完可通过echo $PATH命令查看是否添加成功。
 
7.修改密码:
  vim /ust/local/mysql/data下的某个文件

mysql 8.0 默认使用 caching_sha2_password 身份验证机制 —— 从原来的 mysql_native_password 更改为 caching_sha2_password。 
从 5.7 升级 8.0 版本的不会改变现有用户的身份验证方法,但新用户会默认使用新的 caching_sha2_password 。

客户端不支持新的加密方式。

方法之一,修改用户的密码和加密方式

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

mysql8.*的新特性 caching_sha2_password 密码加密方式

以前版本的mysql密码加密使用的是 mysql_native_password
新添加的用户密码默认使用的 caching_sha2_password
如果在以前mysql基础上升级的 就得用户使用的密码加密使用的是 mysql_native_password
如果使用以前的密码加密方式,就修改文件 /etc/my.cnf

[mysqld]

default_authentication_plugin=mysql_native_password

一. 创建用户

命令:

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

说明:

  • username:你将创建的用户名
  • host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%
  • password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器

例子:

CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'pig'@'192.168.1.101_' IDENDIFIED BY '123456';
CREATE USER 'pig'@'%' IDENTIFIED BY '123456';
CREATE USER 'pig'@'%' IDENTIFIED BY '';
CREATE USER 'pig'@'%';

二. 授权:

命令:

GRANT privileges ON databasename.tablename TO 'username'@'host'

说明:

  • privileges:用户的操作权限,如SELECTINSERTUPDATE等,如果要授予所的权限则使用ALL
  • databasename:数据库名
  • tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*

例子:

GRANT SELECT, INSERT ON test.user TO 'pig'@'%';
GRANT ALL ON *.* TO 'pig'@'%';
GRANT ALL ON maindataplus.* TO 'pig'@'%';

注意:

用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:

GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

三.设置与更改用户密码

命令:

SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

如果是当前登陆用户用:

SET PASSWORD = PASSWORD("newpassword");

例子:

SET PASSWORD FOR 'pig'@'%' = PASSWORD("123456");

四. 撤销用户权限

命令:

REVOKE privilege ON databasename.tablename FROM 'username'@'host';

说明:

privilege, databasename, tablename:同授权部分

例子:

REVOKE SELECT ON *.* FROM 'pig'@'%';

注意:

假如你在给用户'pig'@'%'授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO 'pig'@'%',则在使用REVOKE SELECT ON *.* FROM 'pig'@'%';命令并不能撤销该用户对test数据库中user表的SELECT 操作。相反,如果授权使用的是GRANT SELECT ON *.* TO 'pig'@'%';REVOKE SELECT ON test.user FROM 'pig'@'%';命令也不能撤销该用户对test数据库中user表的Select权限。

具体信息可以用命令SHOW GRANTS FOR 'pig'@'%'; 查看。

五.删除用户

命令:

DROP USER 'username'@'host';    

五.查询用户权限

命令:

select host,user from mysql.user    

mysql在linux下的安装(5.7版本以后)的更多相关文章

  1. mysql在linux下的安装

    安装环境:系统是 centos6.5 1.下载 下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads 下载版本:我这里选择的5.6. ...

  2. Mysql 在Linux下的安装

    1.获取mysql源码 wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.49.tar.gz 3.添加mysql用户和用户组,创建 ...

  3. shell 脚本实战笔记(11)--Mysql在linux下的安装和简单运维

    前言: linux中安装mysql以及配置的管理, 基础的运维和管理还是需要会一些的. 这边作下笔记, 以求天天向上(^_^). 安装流程:*). 安装mysql-server1). 借助yum检索相 ...

  4. mysql在linux下的安装mysql-5.6.33

    一.下载源码包 wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz 二.解压源 ...

  5. mysql在linux下的安装与优化

    mysql5.6 http://www.cnblogs.com/bookwed/p/5896619.html mysql5.7 http://blog.csdn.net/wb96a1007/artic ...

  6. Linux下离线安装Docker最新版本

    一.基础环境1.操作系统:CentOS 7.32.Docker版本:18.06.1 官方下载地址(打不开可能需要梯子)3.百度云Docker 18.06.1地址:https://pan.baidu.c ...

  7. 查询Linux下已安装软件的版本

    #rpm -qa | grep mysql

  8. linux下如何安装mysql和redis

    linux下如何安装mysql(mariadb) linux下如何安装软件? 1. yum安装软件也得注意,一个是配置yum源 1.我们当前的是阿里云的yum源(下载速度特别快) 通过 yum ins ...

  9. MySQL在linux下安装

    mysql在linux下的安装   安装环境:系统是 centos6.5 1.下载 下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloa ...

随机推荐

  1. MySQL6

    MySQL数据库6 1. 集群概述 性能达到瓶颈的解决方案 Scale Up 向上扩展能力,如增加更好的硬件固态磁盘,加大内存等,成本高,效果不显著 Scale Out 向外扩展,例如建立更多的服务器 ...

  2. 爬虫实战(三) 用Python爬取拉勾网

    目录 0.前言 1.初始化 2.爬取数据 3.保存数据 4.数据可视化 5.大功告成 0.前言 最近,博主面临着选方向的困难(唉,选择困难症患者 >﹏<),所以希望了解一下目前不同岗位的就 ...

  3. iframe使用大全

    <iframe src=”you page’s url” width=”100″ height=”30″ frameborder=”no” border=”0″ marginwidth=”0″ ...

  4. xfce 设在分辨率1920 1080

    #自定义cvt 1920 1080 #查看系统显示器名称xrandr #设置分辨率xrandr --newmode "1920x1080_60.00" 173.00 1920 20 ...

  5. 谈谈TCP中的TIME_WAIT

    所以,本文也来凑个热闹,来谈谈TIME_WAIT. 为什么要有TIME_WAIT? TIME_WAIT是TCP主动关闭连接一方的一个状态,TCP断开连接的时序图如下: 当主动断开连接的一方(Initi ...

  6. Sublime text如何设置快捷键让编写的HTML文件在浏览器预览?

      STEP 1 Tools->Build System->New Build System STEP 2<img src="https://pic3.zhimg.com/ ...

  7. 【BZOJ2342】双倍回文(manacher,并查集)

    题意: 思路:From http://blog.sina.com.cn/s/blog_8d5d2f04010196bh.html 首先我可以看出: (1)我们找到的串的本身也是一个回文串(显然) (2 ...

  8. - > 动规讲解基础讲解四——最大子段和问题

    给出一个整数数组a(正负数都有),如何找出一个连续子数组(可以一个都不取,那么结果为0),使得其中的和最大?   例如:-2,11,-4,13,-5,-2,和最大的子段为:11,-4,13.和为20. ...

  9. gogs: 如何恢复repository

    当某天gogs的数据库突然崩溃,配置数据全部消失后,要如何将之前git的repository重新加入到gogs中呢?(别问了,那个倒霉的人就是我) step 1, 2, 3, go... 1. 进入g ...

  10. 具体解释clone函数

    我们都知道linux中创建新进程是系统调用fork,但实际上fork是clone功能的一部分,clone和fork的主要差别是传递了几个參数.clone隶属于libc.它的意义就是实现线程. 看一下c ...