在Linux上安装MySQL
1、查看系统版本号
bash
cat /proc/version
Linux version 3.10.0-1062.18.1.el7.x86_64
(mockbuild@kbuilder.bsys.centos.org)
(gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) )
#1 SMP Tue Mar 17 23:49:17 UTC 2020
2、下载MySQL
MySQL Community Server 下载地址:
https://dev.mysql.com/downloads/mysql/
选项
bash
# 选择红帽企业版
Operating System: Red Hat Enterprise Linux / Oracle Linux
# 系统版本是7,所以选择7版本
OS Version: Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit)
下载:RPM Bundle
bash
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.29-1.el7.x86_64.rpm-bundle.tar
3、创建目录并解压
bash
$ mkdir mysql-8.0.29
$ tar -xvf mysql-8.0.29-1.el7.x86_64.rpm-bundle.tar -C mysql-8.0.29
4、安装MySQL
bash
cd mysql-8.0.29
# 查看解压后的内容
$ ls
mysql-community-client-8.0.29-1.el7.x86_64.rpm
mysql-community-client-plugins-8.0.29-1.el7.x86_64.rpm
mysql-community-common-8.0.29-1.el7.x86_64.rpm
mysql-community-debuginfo-8.0.29-1.el7.x86_64.rpm
mysql-community-devel-8.0.29-1.el7.x86_64.rpm
mysql-community-embedded-compat-8.0.29-1.el7.x86_64.rpm
mysql-community-icu-data-files-8.0.29-1.el7.x86_64.rpm
mysql-community-libs-8.0.29-1.el7.x86_64.rpm
mysql-community-libs-compat-8.0.29-1.el7.x86_64.rpm
mysql-community-server-8.0.29-1.el7.x86_64.rpm
mysql-community-server-debug-8.0.29-1.el7.x86_64.rpm
mysql-community-test-8.0.29-1.el7.x86_64.rpm
# 按照顺序进行逐个安装
rpm -ivh mysql-community-common-8.0.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-plugins-8.0.29-1.el7.x86_64.rpm
# 依赖检测失败:mariadb-libs 被 mysql-community-libs-8.0.29-1.el7.x86_64 取代
# yum -y remove mariadb-libs
rpm -ivh mysql-community-libs-8.0.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-8.0.29-1.el7.x86_64.rpm
# 依赖检测失败:pkgconfig(openssl) 被 mysql-community-devel-8.0.29-1.el7.x86_64 需要
# yum -y install openssl-devel
rpm -ivh mysql-community-devel-8.0.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.29-1.el7.x86_64.rpm
rpm -ivh mysql-community-icu-data-files-8.0.29-1.el7.x86_64.rpm
# 依赖检测失败:libaio.so.1()(64bit) 被 mysql-community-server-8.0.29-1.el7.x86_64 需要
# yum -y install libaio
rpm -ivh mysql-community-server-8.0.29-1.el7.x86_64.rpm
5、启动MySQL服务
bash
systemctl start mysqld
systemctl restart mysqld
systemctl stop mysqld
systemctl status mysqld
6、查看默认密码
MySQL会自动生成默认的root密码
grep 'temporary password' /var/log/mysqld.log
7、修改root密码
登录MySQL客户端
Windows终端连接工具:Finalshell
bash
mysql -u root -p
修改root密码
sql
-- 先设置一个符合要求的随机的密码
SET PASSWORD FOR 'root'@'localhost' TO RANDOM;
-- 查看密码校验参数
show variables like 'validate_password%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password.check_user_name | ON |
| validate_password.dictionary_file | |
| validate_password.length | 8 |
| validate_password.mixed_case_count | 1 |
| validate_password.number_count | 1 |
| validate_password.policy | MEDIUM |
| validate_password.special_char_count | 1 |
+--------------------------------------+--------+
7 rows in set (0.01 sec)
-- 修改密码复杂度限制参数
set global validate_password.policy = 0;
set global validate_password.length = 6;
-- 修改密码
alter user 'root'@'localhost' identified by '123456';
-- 退出
exit
再次使用自定义密码登录
8、创建用户
默认只能在localhost访问,使用%
可以所有主机远程访问
sql
create user 'root'@'%' identified with mysql_native_password by '123456';
-- 创建用户,并设置随机密码
create user 'user'@'%' IDENTIFIED BY RANDOM PASSWORD;
-- 修改用户密码
ALTER USER 'user'@'%' IDENTIFIED BY RANDOM PASSWORD;
9、分配权限
sql
-- 分配所有权限
grant all on *.* to 'root'@'%';