1.应用场景

搭建开发环境,快速安装MySQL,然后进行相关的学习,测试,开发。

2.学习/操作

mysql  的图像结果

环境

Windows 10 64位

Mac pro

MySQL 8.0

备注:

MySQL 8.0即以上版本与 以下版本不太安装方式有些不一样.

Windows Host本机

1. 下载

MySQL :: Download MySQL Community Server

目录结构

2. 安装 [解压即为安装]

直接解压到某一个工作开发目录下.

3. 配置目录 [数据目录]

cmd 管理员权限进入刚才解压目录下 

cd D:\wamp\mysql-8.0.19-winx64\bin

输入

mysqld --initialize-insecure

回车

生成data目录

4. 将mysql安装为Windows上的一个服务

输入 mysqld -install 回车

计算机->管理->服务-> 找到mysql

5. 启动服务 [mysql, 不分区大小写]

net start mysql

也可以设置为: 开机启动服务

6. 登录mysql

输入: mysql -uroot -p 回车

此时密码默认为空 直接回车即可.

7. 修改root账户密码

输入:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Nxf=2020'; // 密码自己设置,尽量不要太简单

退出mysql, [输入exit回车即可]

重新登录

输入密码: Nxf=2020 回车即可.

8. 配置系统环境变量

在系统环境变量path中添加 D:\wamp\mysql-8.0.19-winx64\bin 即可.

备注:

要让path生效. //新开一个cmd窗口,输入path回车即可,后关掉.

9. 测试mysql命令 [在任意目录是否可以使用mysql命令]

正常进入.

10. 可视化管理工具连接数据库-测试

详细见:

DBMS - 可视化管理工具_william_n的博客-CSDN博客

正常连接. Okay.

11. 项目中使用PDO测试连接数据库

前提:

安装并开启pdo,pdo-mysql

代码

<?php

class Model extends PDO
{
    public function __construct()
    {
        $dbms = 'mysql';    //数据库类型
        $host = 'localhost';  //数据库主机名
        $dbName = 'test';     //使用的数据库
        $username = 'root';   //数据库连接用户名
        $passwd = 'Nxf=2020'; //对应的密码
        $dsn = "$dbms:host=$host;dbname=$dbName";
        
        try{
            parent::__construct($dsn, $username, $passwd);
        }catch(PDOException $exception){
           var_dump($exception->getMessage());
        }
    }
}

$model = new Model;
$sql = "SELECT * FROM test";


foreach ($model->query($sql) as $row) {
    print $row['id'] . "\t";
    print $row['title'] . "\t";
    print $row['author'] . "\n";
}

更多PDO操作

PDO::query | 菜鸟教程

数据表

输出结果

可知,交互正常。

12. root用户创建新用户,并且授权

-- 创建用户
-- create user 'william'@'localhost' identified BY '123456';
-- 授权
-- grant all on *.* to 'william'@'localhost' with grant option;

详情:mysql中如何用root用户创建普通用户并给其授权_骑鱼的猫咪的博客-CSDN博客_mysql创建root用户并授权

Docker 镜像容器

MySQL 8.0 - Docker安装 - Win10 - 学习/实践_william_n的博客-CSDN博客

Mac 安装

MySQL :: Download MySQL Community Server  // 直接下载dmg文件

默认的安装路径在

/usr/local

如下所示,其中mysql是软连接,指向mysql-8.0.27-macos11-x86_64

输入mysql,直接进入到mysql-8.0.27-macos11-x86_64目录下

启动/关闭MySQL

如何在macOS系统下启动MySQL服务_PMZeroA-CSDN博客_mac mysql 服务启动

点击MySQL, 可以看到右侧有 "Stop MysQL Server”

也可以选择是否勾选是否开机启动MySQL

当然, 也可以uninstall 卸载MySQL

可以查看各种配置目录信息

这里没有选择配置文件,选的是默认配置文件,应可以自己选择自定义配置文件

终端中连接MySQL

➜  bin ./mysql -uroot -p   

然后输入密码

可视化工具测试连接

DBMS - 可视化管理工具_william_n的博客-CSDN博客

后续补充

...

3.问题/补充

1. 执行mysqld -install 提示vcruntime140_1.dll 缺失

解决方案:

下载vcruntime140_1.dll ,

然后放到

C:\Windows\System32

重试即可.

2. 为Windows安装/移除mysql服务

mysqld -install

mysqld -remove MySQL

3. 项目中使用PDO测试连接数据库

出现报错:

PDOException “could not find driver”

解决办法:

打开php的PDO扩展即可.

[php - PDOException “could not find driver” - Stack Overflow]

4. PHP使用mysql出现报错.

PHP with MySQL 8.0+ error: The server requested authentication method unknown to the client [duplicate]

如下截图:

原因:

this is usually attributed to the authentication plugin that your mysql database is using. //这通常归因于mysql数据库使用的身份验证插件。

解决办法:

By default and for some reason, mysql 8 default plugin is auth_socket. Applications will most times expect to log in to your database using a password.

If you have not yet already changed your mysql default authentication plugin, you can do so by:
1. Log in as root to mysql
2. Run this sql command:

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

Replace 'password' with your root password. In case your application does not log in to your database with the root user, replace the 'root' user in the above command with the user that your application uses.

详细参见:

PHP with MySQL 8.0+ error: The server requested authentication method unknown to the client - Stack Overflow

过程:

解决结果: // 刷新浏览器

由于没有出现报错, 初步判断, 正常连接数据库.

5. 配置文件

/etc/mysql/conf.d

该目录可能是为空的,可以新建配置文件,必须以.cnf结尾

这里是将配置文件拆分成了了客户端和服务端两个文件

 

重启容器,可以验证时区的改变

 

额外补充:

修改时区也可以通过命令进行

SET GLOBAL time_zone = '+8:00'; -- 修改MySQL全局时区为北京时间,即我们所在的东8区

SET time_zone = '+8:00'; -- 修改当前会话时区
FLUSH PRIVILEGES; -- 立即生效

后续补充

...

4.参考

Installing手动 MySQL on Microsoft Windows

手动初始化data目录

How To Install Linux, Apache, MySQL, PHP (LAMP) stack on Ubuntu 18.04 | DigitalOcean

Mysql下载安装

win10下MYSQL的下载、安装以及配置超详解教程

Downloading vcruntime140_1.dll

stackoverflow - Vcruntime140_1.dll missing solution

Visual C++ Redistributable Packages

DBMS - 可视化管理工具

PDO操作/

mysql中如何用root用户创建普通用户并给其授权_骑鱼的猫咪的博客-CSDN博客_mysql创建root用户并授权



高性能 MySQL 实战 | Laravel 学院 - MySQL 数据库安装和服务端启动原理  20200819

后续补充

...

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐