MySQL-8.0.15在Win10和Ubuntu上安装&使用

一、Windows环境下安装:

1.下载MySQL压缩包
  官网地址:https://dev.mysql.com/downloads/mysql/


 点击直接下载:


2.解压到本地目录,并添加一个配置文件,命名为my.ini:

my.ini内容如下

[mysql] 
# 设置mysql客户端默认字符集 
default-character-set=utf8 
[mysqld] 
# 设置3306端口 
port = 3306 
# 设置mysql的安装目录 
basedir=D:mysql-8.0.15-winx64
# 设置mysql数据库的数据的存放目录 
datadir=D:mysql-8.0.15-winx64data 
# 允许最大连接数 
max_connections=20 
# 服务端使用的字符集默认为8比特编码的latin1字符集 
character-set-server=utf8 
# 创建新表时将使用的默认存储引擎 
default-storage-engine=INNODB 
# 设置协议认证方式(重点啊) 
default_authentication_plugin=mysql_native_password
# root帐户默认不开放远程访问权限,跳过认证(8.0以上不适用)
#skip-grant-tables


3.安装MySQL服务
 可以将mysql的安装路径添加到系统环境变量中:

 或者直接进入 D:mysql-8.0.15-winx64in 目录执行cmd指令:

mysqld --install
//出现Service successfully installed即安装成功


4.初始化日志文件

mysqld --initialize --console

5.启动服务

net start mysql

6.登录服务器

mysql -uroot -p"<tW:s+HVi2&b"

 后面接的密码就是第4步 mysqld --initialize --console 生成的临时密码。

 如果遇到如下错误:

 请尝试如下步骤解决:

  (1)关闭服务:   net stop mysql

  (2)跳过授权表:    mysqld --defaults-file="D:mysql-8.0.15-winx64my.ini" --console --skip-grant-tables

    (3)  启动服务:   net start mysql

    (4)  登录服务:   mysql -uroot -p"<tW:s+HVi2&b"

  通过临时密码登录后执行 show databases;  提示如下:

  则需要重新设置自己的密码:

   ①设置永不过期的密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码' PASSWORD EXPIRE NEVER;

      ②设置有期限的密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码' PASSWORD EXPIRE;

 再执行 show databases; 就显示如下:

 二、Ubuntu环境下安装:
1.安装

 同样可以通过官网下载安装包:https://dev.mysql.com/downloads/mysql/

或者通过终端指令直接安装:

sudo apt-get install mysql-server
sudo apt-get isntall mysql-client
sudo apt-get install libmysqlclient-dev

在安装过程中会让你输入密码以及确认密码,不要忘掉,那是mysql的root用户密码。

2.检查是否安装成功

sudo netstat -tap | grep mysql

若出现截图内的语句即说明安装成功

MySQL添加用户、删除用户与授权

 1.新建用户

  1.1 登录MYSQL:

   @>mysql -u root -p

   @>密码

  1.2 创建用户:

   mysql> CREATE USER test IDENTIFIED BY '1234';

  1.3 查看下用户test的权限:
   mysql> SHOW GRANTS FOR test;

 2.为用户授权

  2.1 以root用户登录;

  2.2 首先为用户创建一个数据库(testDB):

   mysql>create database testDB;

  2.3 给用户test在数据库名为testDB上赋EXECUTE(执行存储过程),INSERT,SELECT,UPDATE权限:

   mysql> GRANT EXECUTE,INSERT,SELECT,UPDATE ON testDB.* TO 'test'@'%';  //@'%'表示从任意ip都可以访问到这个数据库

   mysql> FLUSH PRIVILEGES;  //刷新系统权限表

  3. 删除用户

   @>mysql -u root -p

   @>密码

   DROP USER test@'%';


-end-

原文地址:https://www.cnblogs.com/blogs-of-lxl/p/10399557.html