下载
- windows10 64位
- Linux 64位
- 页面到底选择 No thanks, just start my download.
Linux(CentOS 7.5)下安装
1.卸载自带的MySQL服务
- 停止服务 service mysqld stop
- 查看自带MySQL服务 rpm -qa | grep mariadb
- 删除服务 rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps
2.安装上传的mysql
- 先安装server
- rpm -ivh mysql-community-server-8.0.15-1.el7.x86_64.rpm --nodeps
- 再安装客户端
- rpm -ivh mysql-community-client-8.0.15-1.el7.x86_64.rpm --nodeps
- 再安装devel
- rpm -ivh mysql-community-devel-8.0.15-1.el7.x86_64.rpm --nodeps
3.编辑mysql配置信息
- vi /etc/my.cnf 末行添加
- 注:utf8mb4 是utf-8的升级支持emoji库的存储及表情 使用utf8 linux下出错 win10下警告
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:\Program Files\MySQL
# 设置mysql数据库的数据的存放目录
datadir=D:\Program Files\MySQL\data
# 允许最大连接数
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'
#关闭SSL
#skip_ssl
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4
注意:default-time_zone ='+8:00' 解决找不到当前位置所在时区,jdk是末位偶数版本不需要配置(例如:jdk1.8.0_u202)
4.查看临时密码
- service mysqld start
- grep 'password' /var/log/mysqld.log | head -n 1
5.登录
- service mysqld restart
- mysql -uroot -p
- 注意:在p后面不要跟密码,8版本(8.0.13登录失败,8.0.15登录成功)会登录失败,回车再输入密码
6.修改密码策略
- 注意:linux下安装mysql版本都有密码策略,8.0.15两个系统密码策略都不能使用(亲测已取消修改策略)
- win10下8.0.0版本至8.0.12版本密码为123456需要配置,win10下安装mysql 8.0.13之后版本不需要设置即可使用
- 5版本密码策略是全部都是下划线没有点 例如:
- 8版本 set global validate_password.policy=0;
- 5版本 set global validate_password_policy=0;
- 查看密码策略 : show variables like 'validate_password%'; 必须修改密码才能查看
- 请手敲不要粘贴复制可能会失败
-
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; 密码长度
7. 修改密码
- set global validate_password.policy=LOW;
- alter user 'root'@'localhost' IDENTIFIED BY '密码';
- 密码不能使用root
- 使用win10 装有mysql 连接失败是密码策略不同在 my.cnf添加 default_authentication_plugin=mysql_native_password
8.修改mysql访问权限
- -uroot -proot
- Use mysql
- update user set host='%' where user ='root';
- select host,user from user;
- Flush privileges;
9.防火墙开放端口
- 为了安全起见开放端口即可,防火墙不需要关闭
- sudo firewall-cmd --list-all 查看开放端口
- sudo firewall-cmd --add-service=http --permanent
- sudo firewall-cmd --add-port=80/tcp --permanent
- --add-port=80/tcp #添加端口,格式为:端口/通讯协议
- --permanent #永久生效,没有此参数重启后失效
10.开启启动服务
- systemctl enable mysqld
11.JDK安装(选修课)
- 解压 tar -zxvf jdk-1.8.0 -C 安装到指定目录
- 配置环境变量
- vi /etc/profile
- 末尾添加 java_home 是解压后的jdk
- #JAVA_HOME
- export JAVA_HOME=/opt/modules/jdk1.8.0
- export PATH=$PATH:$JAVA_HOME/bin
- 保存之后要输入 source /etc/profile 配置环境才能生效
win 10下安装
1.在mysql根目录下新建my.ini即可,将配置信息复制
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:\Program Files\MySQL
# 设置mysql数据库的数据的存放目录
datadir=D:\Program Files\MySQL\data
# 允许最大连接数
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'
#关闭SSL
#skip_ssl
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4
error: Found option without preceding group in config file
原因是my.ini 文件可能是UTF-8编码,打开记事本选择另存为选择编码ANSI
配置环境变量 F:\app\MySQL\bin
2.使用CMD要以管理员身份运行否则会失败
- 切换到MySQL的\ BIN目录下
- F:\app\MySQL\bin>
- 执行
- F:\app\MySQL\bin>mysqld --initialize --console
- 执行成功会显示临时密码在执行结果中查找临时密码要是emeeCudur6%H要记住
- root @ localhost:emeeCudur6%H
3.安装服务
- F:\app\MySQL\bin> mysqld --install
4.启动服务
- F:\app\MySQL\bin> net start mysql
5.修改密码
- alter user 'root'@'localhost' IDENTIFIED BY '密码';
6.配置访问权限(允许其它主机访问)
-uroot -proot
Use mysql
Update user set host=’%’ where user=’root’;
Select host,user from user;
Flush privileges;