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有以下取值:
Policy | Tests 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;