环境
- 主机:阿里云主机
- 系统:centos7
- 目标数据库:mysql 8
要求安装请不存在其他版本的mysql数据库
步骤
-
切换到root用户
su -
-
安装mysql yum仓库
yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
-
安装mysql 8
yum install mysql-community-server
-
运行mysql并自启
systemctl start mysqld.service ## use restart after update systemctl enable mysqld.service
-
得到随机生产的密码
grep 'A temporary password is generated for root@localhost' /var/log/mysqld.log |tail -1
-
进行安全设置,需要用到密码的地方请输入上一步获得的密码,其他全部填
y
/usr/bin/mysql_secure_installation
-
修改root密码,密码必须有:小写字母、大写字母、数字、特殊字符
#使用随机密码进入mysql mysql -u root -p ## 进入后修改密码 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root-password';
-
创建用户,数据库,赋予用户操作该数据库的权限,并允许远端连接
#\# 创建数据库 CREATE DATABASE webdb; #\# 创建用户 mysql> CREATE USER 'webdb_user' IDENTIFIED BY 'password123'; #\# 赋予权限 mysql> GRANT ALL ON webdb.* TO 'webdb_user'; #\# 让服务器重新加载权限表 mysql> FLUSH PRIVILEGES;
用户名语法:
'user_name'@'host_name'
,表示来自host_name的用户,如果其他host登录会被拒绝。一般无特殊符号,可省略引号。如果只给出user_name
,相当于user_name@%
,表示允许任何主机连接,上面就是这种情况。 -
开防火墙
firewall-cmd --permanent --zone=public --add-service=mysql ## OR ## firewall-cmd --permanent --zone=public --add-port=3306/tcp
-
云服务商也会为云主机套一层防火墙,需要到后台修改安全组。略。