Centos
安装wget
1 | [root@localhost ~]# yum install wget |
安装MySQL软件源
1 | [root@localhost ~]# wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm |
1 | [root@localhost ~]# sudo rpm -Uvh mysql57-community-release-el7-10.noarch.rpm |
开始安装MySQL服务端
1 |
|
启动MySQL
1 | service mysqld start |
重新设置mysql root账号
1 | [root@localhost ~]# sudo grep 'temporary password' /var/log/mysqld.log |
登录mysql root账号
1 | [root@localhost ~]# mysql -uroot -pfQv3YsS-RjZA |
mysql默认账号密码强度有一定要求,如果是测试环境或本地环境想设置简单密码,则需要先调整密码强度设置
调整密码长度要求
1 | mysql> set global validate_password_length=0; |
调整密码强度检查等级,0/LOW、1/MEDIUM、2/STRONG
1 | mysql> set global validate_password_policy=0; |
设置密码为123456
1 | mysql> set password for 'root'@'localhost' = password('123456'); |
设置root允许远程登录
1 | mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; |
刷新缓存并退出
1 | mysql> flush privileges; |
Windows
下载(以5.7.29为例,下载x64的zip包)
在历史版本中选择5.7.29历史版本
或者最新版
最新版本
安装
- 解压到目标路径
在mysql跟目录下创建
my.ini
配置文件,写入配置1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17[client]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\\路径\\mysql-5.7.29-winx64
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
datadir=D:\\路径\\mysql-5.7.29-winx64\\data
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB右键以管理员身份打开命令行工具(必须是管理员身份运行!!)
- 进入
mysql/bin
文件夹下 - 运行命令
mysqld --initialize --console
初始化mysql - 初始化成功之后,会输出随机密码,先记下
- 再运行命令安装
mysqld install
成功后输出Service successfully installed.
- 开启mysql服务
net start mysql
- 关闭mysql服务
net stop mysql
忘记密码
- 关闭mysql服务
- 打开
my.ini
配置文件 - 在
[mysqld]
节点下输入skip-grant-tables
- 启动mysql服务
- 运行
mysql -u root -p
,不用输入密码,直接回车以root进入mysql命令行 运行命令修改密码
1
2
3
4
5mysql> use mysql;
Database changed
mysql> update mysql.user set authentication_string=password('12345678') where user='root' and host = 'localhost';
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 1刷新缓存并离开
1
2
3
4
5mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye关闭mysql、删除
[mysqld]
节点下的skip-grant-tables
- 重新启动,即可再以root身份进入mysql
异常报错
1862: Your password has expired.
- 命令行以root进入mysql
- 运行命令,设置密码并刷新缓存即可
1
2
3
4
5
6
7
8mysql> set password=password('12345678');
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye