centos7 安装 mysql

 1. 使用 docker 运行 mysql,方便快捷

yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce
systemctl start docker
systemctl enable docker

docker pull mysql:5.7.19
docker run -p 3306:3306 -v /opt/programs/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql5719 -d <imgId>

2. 手动安装 

    2.1 下载包、安装并启动服务

yum -y localinstall https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
yum -y install mysql-community-server
systemctl start mysqld.service

   2.2 获取自动生成的临时密码:

grep 'A temporary password is generated' /var/log/mysqld.log

  2.3 运行下面的命令,修改 root 的密码

/usr/bin/mysql_secure_installation

  2.4 上面会要求输入的新密码符合一定的规则,这与 validate_password_policy 的值有关。

        validate_password_policy有以下取值:

PolicyTests Performed
0 or LOW Length
1 or MEDIUM Length; numeric, lowercase/uppercase, and special characters
2 or STRONG Length; numeric, lowercase/uppercase, and special characters; dictionary file

 默认是1,即MEDIUM,所以刚开始设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符。但是我本地测试,不需要设置复杂的密码。可以通过以下方式更改密码规则

mysql> set global validate_password_policy=0;  # 设置密码规则为根据长度
mysql> select @@validate_password_length;      # 查看密码长度的规则,默认是 8 位,即最少要8位密码
mysql> set global validate_password_length=6; # 设置最小长度为 6
mysql> set password for root@localhost=password('123456'); # 现在可以把密码设置为 123456 了。
mysql> CREATE USER 'root'@'%' IDENTIFIED BY '123456'; # 设置 root 可以远程访问
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
mysql> FLUSH PRIVILEGES;

3.  创建数据库、用户、分配权限

mysql> create database ambari;
mysql> CREATE USER 'ambaridba'@'localhost' IDENTIFIED BY '123456';
mysql> CREATE USER 'ambaridba'@'%' IDENTIFIED BY '123456';
mysql> GRANT ALL PRIVILEGES ON ambari.* TO 'ambaridba'@'localhost';
mysql> GRANT ALL PRIVILEGES ON ambari.* TO 'ambaridba'@'%';
mysql> FLUSH PRIVILEGES;
原文地址:https://www.cnblogs.com/langfanyun/p/10330732.html