go语言mysql8_MySQL8.0.18安装-Go语言中文社区

windows 10 和 CentOS 8  MySQL 安装

注意事项

使用jdk11需更新MySQL8.0.16以上(包含)

MySQL 8 之前版本参考

windows 10 安装

1.下载

地址:https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.18-winx64.zip

2.安装

将 mysql-8.0.18-winx64.zip 解压到D:Program Files

将解压之后的目录mysql-8.0.18重命名为MySQL

在MySQL目录下新建my.ini 配置文件

注:utf8mb4 是utf-8的升级支持emoji库的存储及表情,请勿使用utf8 linux下出错  win10下警告[mysqld]

# 设置3306端口

port=3306

# 设置mysql的安装目录

basedir=D:Program FilesMySQL

# 设置mysql数据库的数据的存放目录

datadir=D:Program FilesMySQLdata

# 允许最大连接数

max_connections=2000

# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统

max_connect_errors=10

# 服务端使用的字符集

character-set-server=utf8mb4

# 创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

# 默认使用“mysql_native_password”插件认证

default_authentication_plugin=mysql_native_password

#超时设置

wait_timeout=2147483

interactive_timeout=2147483

#设置默认时区

default-time_zone ='+8:00'

[mysql]

# 设置mysql客户端默认字符集

default-character-set=utf8mb4

[client]

# 设置mysql客户端连接服务端时默认使用的端口

port=3306

default-character-set=utf8mb4

3.配置环境变量

将D:Program FilesMySQLbin 添加到环境变量path中

4.安装服务

以管理员身份运行cmd否则会失败

执行mysqld --initialize --console

error: Found option without preceding group in config file

原因是my.ini 文件可能是UTF-8编码,打开记事本选择另存为选择编码ANSI

执行成功会显示临时密码,root@localhost: IuWlms_/B0Kp

IuWlms_/B0Kp为临时密码

安装服务mysqld --install

启动服务net start mysql

登录 mysql -u root  -p回车输入密码

IuWlms_/B0Kp

修改密码

alter user 'root'@'localhost' IDENTIFIED BY '密码';

注意:密码不能为root,win10 MySQL 版本无强制密码策略(密码策略参考CentOS安装)

5.配置访问权限(允许其它主机访问)

需先登录Use mysql

Update user set host=’%’ where user=’root’;

Select host,user from user;

Flush privileges;

注意:以后的修改密码变成

alter user 'root'@'%' IDENTIFIED BY '密码';

6.卸载

将服务停止

以管理员身份运行cmd 执行mysqld --remove mysql删除

删除D:Program FilesMySQL,完成

这就是压缩包安装的好用,可执行文件卸载出错可能还需要重装系统

CentOS 8 安装

1.压缩包安装

1.1下载

1.2安装

cd /opt/packages/  执行以下命令进行安装

rpm -ivh mysql-community-common-8.0.18-1.el8.x86_64.rpm --nodeps

rpm -ivh mysql-community-libs-8.0.18-1.el8.x86_64.rpm --nodeps

rpm -ivh mysql-community-client-8.0.18-1.el8.x86_64.rpm --nodeps

rpm -ivh mysql-community-server-8.0.18-1.el8.x86_64.rpm --nodeps

1.3编辑mysql配置文件

安装完成之后编辑my.cnf

vi /etc/my.cnf

按i在当前行编辑

注:utf8mb4 是utf-8的升级支持emoji库的存储及表情,请勿使用utf8 centos下出错  win10下警告

# For advice on how to change settings please see

# http://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html

[mysqld]

#

# Remove leading # and set to the amount of RAM for the most important data

# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.

# innodb_buffer_pool_size = 128M

#

# Remove the leading "# " to disable binary logging

# Binary logging captures changes between backups and is enabled by

# default. It's default setting is log_bin=binlog

# disable_log_bin

#

# Remove leading # to set options mainly useful for reporting servers.

# The server defaults are faster for transactions and fast SELECTs.

# Adjust sizes as needed, experiment to find the optimal values.

# join_buffer_size = 128M

# sort_buffer_size = 2M

# read_rnd_buffer_size = 2M

#

# Remove leading # to revert to previous value for default_authentication_plugin,

# this will increase compatibility with older clients. For background, see:

# https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin

#端口

port=3306

#mysql默认的安装路径

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

# 允许最大连接数

max_connections=2000

# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统

max_connect_errors=10

# 服务端使用的字符集

character-set-server=utf8mb4

# 创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

# 默认使用“mysql_native_password”插件认证

default_authentication_plugin=mysql_native_password

#超时设置

wait_timeout=2147483

interactive_timeout=2147483

#设置默认时区

default-time_zone ='+8:00'

#日志输出文件

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

[mysql]

default-character-set=utf8mb4

[client]

port=3306

default-character-set=utf8mb4

按ESC键输入:wq退出并退出

1.4启动服务

启动服务:systemctl start mysqld(不建议使用service mysqld restart会重定向到systemctl start mysqld)

查看服务状态:systemctl status mysqld

查看临时密码:grep 'password' /var/log/mysqld.log | head -n 1

0a6678ffa2336e994f1c1cab812cbe6f.png

1.5登录

mysql  -uroot  -p(注意:在p后面不要跟密码,8版本会登录失败,回车再输入密码)

回车输入密码

1.6修改密码策略

只有Linux版本mysql有强制密码策略

mysql 8 和mysql7密码策略区别

mysql8 例如密码长度:set global validate_password.length=6;mysql7 例如密码长度:set global validate_password_length=6;

查看密码策略 : show variables like 'validate_password%'; (注意:必须修改密码才能查看)

35685ed525b0a1ff4d8b8d5c236d3a06.png

只有Linux有强制密码策略

可修改的密码策略密码验证策略低要求

set global validate_password.policy=LOW;(0或LOW代表低级)

密码至少要包含的小写字母个数和大写字母个数

set global validate_password.mixed_case_count=0;

密码至少要包含的数字个数。

set global validate_password.number_count=0;

密码至少要包含的特殊字符数

set global validate_password.special_char_count=0;

密码长度

set global validate_password.length=6;

1.7 修改密码

修改过密码策略就可以使用简单的密码了

alter user 'root'@'localhost' IDENTIFIED BY '密码';

注意:密码不能使用root

注意:mysql连接失败也有可能 default_authentication_plugin=mysql_native_password 没有配置 (参考1.3默认已配置)

1.8修改mysql访问权限

登录之后

Use mysql

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

select host,user from user;

Flush privileges;

1.9防火墙开放端口

为了安全起见开放端口即可,防火墙不需要关闭

sudo firewall-cmd --list-all( 查看开放端口)

sudo firewall-cmd --zone=public  --add-service=http --permanent

sudo firewall-cmd  --zone=public --add-port=3306/tcp --permanent

firewall-cmd --reload

防护墙命令

sudo firewall-cmd --zone=public  --add-service=http --permanent #添加开放的服务

sudo firewall-cmd  --zone=public --add-port=3306/tcp --permanent#添加开放的端口

firewall-cmd --zone= public --query-port=80/tcp#查看是否开放

firewall-cmd --zone= public --remove-port=80/tcp --permanent# 删除

firewall-cmd --reload # 重新载入,更新防火墙规则

描述:

--zone=public#作用域

--add-port=3306/tcp#添加端口,格式为:端口/通讯协议

--permanent#永久生效,没有此参数重启后失效

1.10开启服务

systemctl enable mysqld

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值