当前位置: 代码网 > it编程>数据库>Mysql > MySQL安装使用(mac、windows)

MySQL安装使用(mac、windows)

2024年08月06日 Mysql 我要评论
这边是因为安装了就默认启动了,已经有进程在了,所以报错,关掉重启就没问题了。下载完成之后,打开安装,一直下一步安装完成,在最后安装完成时,会弹出对话框,里面包含了。第四步 :在终端界面下输入以下命令,让配置文件的修改生效,并查看环境变量是否设置成功。账号跟临时密码,需要拷贝出来记录一下,后面会用它进行登录以及修改为新的。就是账号,密码就是随机生成的这串,如果使用强密码就是自己输入的那个密码。接着输入你的密码,用于登陆,切记!安装成功以后,可以使用命令行进行启动操作,也可以进入 系统偏好设置。

目录

macos环境

法一:包安装(比较简单)

1.下载 

2. 环境配置

 3. 启动服务

4. 安全设置

5. 启动mysql

法二:官方下载mysql

1.下载 

2.环境变量

3. 启动 mysql

4. 初始化密码设置

windows环境

一、下载

二、 环境配置

三、安装mysql

1.初始化mysql

 2.安装mysql服务

3.更改密码

四、检验

1.查看默认安装的数据库

2.其他操作

 配置mysql的远程连接

1.登录mysql

2.选择数据库 

3. 修改权限

常见报错 


 

macos环境

法一:包安装(比较简单)

macos12,安装 8.0版本

1.下载 

brew install mysql@8.0

2. 环境配置

sudo vi ~/.zshrc
export path="/usr/local/opt/mysql@8.0/bin:$path"
export ldflags="-l/usr/local/opt/mysql@8.0/lib"
export cppflags="-i/usr/local/opt/mysql@8.0/include"
export pkg_config_path="/usr/local/opt/mysql@8.0/lib/pkgconfig"
source ~/.zshrc

 3. 启动服务

brew services start mysql@8.0

4. 安全设置

mysql_secure_installation

5. 启动mysql

mysql -u root -p

法二:官方下载mysql

1.下载 

我是macos12,所以选择了8.0.30

  • use strong password encryption:使用强密码加密。mysql8 支持基于 sha256 的更强的认证方式,所有新安装的 mysql server 建议使用这个方式。clients 或 connectors 如果不支持这个方式,就不能连接到这个 mysql server。
  • use legacy password encryption:使用老式的密码加密,也就是上图中的。
  • 配置 root 的密码,合理的密码规则为:至少8个字符,包含数字、字母、其他字符。

接着输入你的密码,用于登陆,切记!跟上面旧密码一样的,一定要记住记好了!

安装成功以后,可以使用命令行进行启动操作,也可以进入 系统偏好设置 中找到 mysql 进行可视化启动!

2.环境变量

  • 第一步 :在终端切换到根目录,编辑 ~/.bash_profile 或 ~/.zshrc 文件,也可以两个都加

  • $ vim ~/.bash_profile
    $ vim ~/.zshrc
  • # 辅助:查看 mysql 本地路径
    $ ps -ef|grep mysql
    
    # 辅助:如果两个配置文件不存在,可以手动创建
    $ cd ~
    $ touch .zshrc
    $ vim .zshrc
    
    # 辅助:如果不想走命令行的方式修改环境变量,也可以直接打开文件进行可视化修改,不支持 linux 可视化
    $ open ~/.zshrc
    

    第二步 :进入 vim 编辑环境。 按下 i 进入 insert 模式 ,输入

  • export path=$path:/usr/local/mysql/bin
    export path=$path:/usr/local/mysql/support-files
    

    第三步 :按下 esc 退出 insert 模式,输入 :wq 保存配置文件。

  • :wq


    第四步 :在终端界面下输入以下命令,让配置文件的修改生效,并查看环境变量是否设置成功

  • $ source ~/.bash_profile 
    $ source ~/.zshrc
    $ echo $path
    

    到这里环境变量就设置完成了,我们可以查看一下当前 mysql 的版本:

  • $ mysql -v

开启mysql服务(需要输入电脑密码,不是数据库登录密码)
sudo mysql.server start

停止mysql服务
sudo mysql.server stop

重启mysql服务
sudo mysql.server restart

查看mysql服务状态
sudo mysql.server status

3. 启动 mysql

  • 第一步 :启动 mysql 服务

sudo mysql.server start

启动如果报错 error! the server quit without updating pid file (/usr/local/mysql/data/***.pid). 这边是因为安装了就默认启动了,已经有进程在了,所以报错,关掉重启就没问题了。还有别的原因也会这样,比如没有读写权限等。

查看进程

ps -ef|grep mysqld

杀进程

第二步 :启动成功后,登录 mysql

mysql -u root -p

4. 初始化密码设置

  • 设置初始化密码,进入数据库 mysql 数据库之后执行下面的语句,设置当前 root 用户的密码为 123456 (密码设置你自己的,这里只是举例)。

  • set password = password('123456');
    

回车,然后会提示设置成功。

退出 sql 界面

exit
  • 以上 mysql 就在本地安装完成了 !!!

数据库管理(两种形式)

windows环境

一、下载

1.下载解压

mysql :: download mysql community server

下载后解压,存放到安装目录下

2.在【安装目录】内,新建 my.ini 空文件

可以先创建一个txt文件,另存为my.ini

输入以下内容(注意安装目录)

[mysql]
# 设置 mysql 客户端默认字符集
default-character-set=utf8

[mysqld]
#设置 3306 端口
port = 3306

# 设置 mysql 的安装目录
basedir= c:\mysql\mysql-8.2.0-winx64

# 设置 mysql 数据库的数据的存放目录
datadir= c:\mysql\mysql-8.2.0-winx64\data

# 允许最大连接数
max_connections=200

# 服务端使用的字符集默认为 8 比特编码的 latin1 字符集
character-set-server=utf8

# 创建新表时将使用的默认存储引擎
default-storage-engine=innodb

 或者

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=c:\\mysql\\mysql-8.2.0-winx64  # 切记此处一定要用双斜杠\\,单斜杠我这里会出错,不过看别人的教程,有的是单斜杠
# 设置mysql数据库的数据的存放目录
datadir=c:\\mysql\\mysql-8.2.0-winx64\\data   # 此处同上
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为utf8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=innodb
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

二、 环境配置

方便调用数据库,相当于一个快捷方式。

1 打开环境变量

按 win+q,输入“环境变量”,选择“编辑系统环境变量”,点击“环境变量”

2.新建系统变量 mysql_home

在下方的”系统变量“内,新建一个系统变量,变量名为 mysql_home ,变量值为【安装目录】,如图。

3.编辑 path 变量

继续在“系统变量”找到变量名为 path 的系统变量,新建一个新的环境变量 %mysql_home%\bin

 

三、安装mysql

1.初始化mysql

管理员运行cmd,进入bin路径下,输入

mysqld --initialize --console

  

执行完成后,会打印 root 用户的初始默认密码,比如: 

c:\mysql\mysql-8.2.0-winx64\bin>mysqld --initialize --console
2024-03-11t10:13:22.761487z 0 [system] [my-015017] [server] mysql server initialization - start.
2024-03-11t10:13:22.772911z 0 [system] [my-013169] [server] c:\mysql\mysql-8.2.0-winx64\bin\mysqld.exe (mysqld 8.2.0) initializing of server in progress as process 22556
2024-03-11t10:13:22.777567z 0 [warning] [my-013242] [server] --character-set-server: 'utf8' is currently an alias for the character set utf8mb3, but will be an alias for utf8mb4 in a future release. please consider using utf8mb4 in order to be unambiguous.
2024-03-11t10:13:22.805070z 1 [system] [my-013576] [innodb] innodb initialization has started.
2024-03-11t10:13:23.985606z 1 [system] [my-013577] [innodb] innodb initialization has ended.
2024-03-11t10:13:27.977275z 6 [note] [my-010454] [server] a temporary password is generated for root@localhost: v/tfkjvp6sdu
2024-03-11t10:13:33.448473z 0 [system] [my-015018] [server] mysql server initialization - end.

c:\mysql\mysql-8.2.0-winx64\bin>

注意!执行输出结果里面有一段:[note] [my-010454] [server] a temporary password is generated for root@localhost: v/tfkjvp6sdu 其中root@localhost:后面的“v/tfkjvp6sdu”就是初始密码(不含首位空格)。在没有更改密码前,需要记住这个密码,后续登录需要用到。 

 2.安装mysql服务

在mysql安装目录的 bin 目录下执行命令:

后面的服务名可以不写,默认的名字为 mysql。当然,如果你的电脑上需要安装多个mysql服务,就可以用不同的名字区分了,比如 mysql5 和 mysql8。

3.更改密码

在mysql安装目录的 bin 目录下执行命令:

这时候会提示输入密码,记住了上面初始化步骤时的密码,填入即可登录成功,进入mysql命令模式。

在mysql中执行命令:

修改密码,注意命令尾的;一定要有,这是mysql的语法

这样,安装部署就完成了 !!!

四、检验

1.查看默认安装的数据库

mysql> show databases;
+--------------------+
| database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.02 sec)
mysql> use mysql;
database changed
mysql> show tables;
+------------------------------------------------------+
| tables_in_mysql                                      |
+------------------------------------------------------+
| columns_priv                                         |
| component                                            |
| db                                                   |
| default_roles                                        |
| engine_cost                                          |
| func                                                 |
| general_log                                          |
| global_grants                                        |
| gtid_executed                                        |
| help_category                                        |
| help_keyword                                         |
| help_relation                                        |
| help_topic                                           |
| innodb_index_stats                                   |
| innodb_table_stats                                   |
| ndb_binlog_index                                     |
| password_history                                     |
| plugin                                               |
| procs_priv                                           |
| proxies_priv                                         |
| replication_asynchronous_connection_failover         |
| replication_asynchronous_connection_failover_managed |
| replication_group_configuration_version              |
| replication_group_member_actions                     |
| role_edges                                           |
| server_cost                                          |
| servers                                              |
| slave_master_info                                    |
| slave_relay_log_info                                 |
| slave_worker_info                                    |
| slow_log                                             |
| tables_priv                                          |
| time_zone                                            |
| time_zone_leap_second                                |
| time_zone_name                                       |
| time_zone_transition                                 |
| time_zone_transition_type                            |
| user                                                 |
+------------------------------------------------------+
38 rows in set (0.01 sec)

2.其他操作

管理员root的host是localhost,代表仅限localhost登录访问。如果要允许开放其他ip登录,则需要添加新的host。如果要允许所有ip访问,可以直接修改成“%

创建用户:

create user 'xxh'@'%' identified with mysql_native_password by 'xxh123!@#';

#(需要注意:mysql8.0加密方式修改了)
#检查用户

select user, host, plugin, authentication_string from user\g;

授权远程数据库

#授权所有权限 

grant all privileges on *.* to 'xxh'@'%';

#授权基本的查询修改权限,按需求设置

grant select,insert,update,delete,create,drop,alter on *.* to 'xxh'@'%';

查看用户权限

show grants for 'xxh'@'%';

 查看密码加密方式:

select user, host, plugin, authentication_string from user;

另外,如果需要新增账户,或者本机以外的其他人访问mysql则还需要设置内置账户的host,具体可以参考:mysql创建用户与授权 

 配置mysql的远程连接

1.登录mysql

mysql -u root -p

2.选择数据库 

 展示数据库 

show databases;

使用数据库 

use mysql;

3. 修改权限

查询用户表中的root用户的权限

select host,user from user;

默认都是localhost,将root的改为% 

修改用户表 

update user set host='%' where user='root';

赋予所有权限

mysql 8用以下写法

grant all privileges on *.* to 'root'@'%';

不行的话试试

grant all privileges on root.* to 'root'@'%';

flush privileges;

再次查询用户表中的root用户的权限 

exit;

常见报错 

1.启动报错

mysql启动时报错:starting mysql… error! the server quit without updating pid file 

mac上mysql启动报错问题unable to lock ./ibdata1 error: 35-csdn博客

可能是/usr/local/mysql/data数据目录mysql用户没有权限(修改数据目录的权限) 

查看

解决方法 :给予权限,执行 “ -r mysql.mysql /usr/local/mysql/data” 然后重新启动mysqld

sudo chmod -r 777 /usr/local/mysql/data/

也可以直接到文件夹中设置文件夹的权限!!!!

前往/usr/local/etc目录,看是否有my.cnf这么个文件,如果没有就新建,然后输入lower_case_table_names=2,保存

 

ps -eaf | grep mysql

 

sudo kill -9 145 

使用这种方式杀掉所有的mysql进程,再次重启mysql应该就可以了。

如果还不行,重点来了,执行如下命令:

sudo launchctl unload -w /library/launchdaemons/com.oracle.oss.mysql.mysqld.plist

mac mysql 安装(详细步骤)_mac 安装mysql-csdn博客

https://www.cnblogs.com/laumians-notes/p/9069498.html

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com