安装MySQL8
CentOS7默认数据库是MariaDB且yum源中不存在MySQL,所以第一步下载MySQL的源
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
发现没有wget命令,安装wget
yum -y install wget
源下载成功后在根目录
yum localinstall mysql80-community-release-el7-1.noarch.rpm
安装源
yum clean all
yum makecache
使源生效
yum install mysql-community-server
安装mysql,这个过程比较漫长
修改用户密码
安装成功后还无法登录reboot下
必须输入密码
cat /var/log/mysqld.log | grep password
查看默认密码
mysql -u root -p
登录后修改root密码
alter user root@localhost identified by 'Root_123456';
密码必须包括大小写数字特殊字符
flush privileges;
刷新
exit
退出登录
创建用户
外部连接不能都使用root用户,需要单独开放用户且赋不同权限给外部使用
create user mysqluser@'%' identified by 'MySQL_user123';
创建mysqluser用户指明其访问来源地址为%所有
grant 权限 on 数据库.表名 to 用户名@登录主机
grant all privileges on *.* to mysqluser@'%' with grant option;
.:第一个代表数据库名;第二个代表表名 (指所有数据库里的所有表都授权给用户,若只授权某数据库或数据库下某张表,则把*替换成数据库名和表即可)
flush privileges;
防火墙
这时在外部连接数据服务器是失败的
因为Centos7的防火墙firewall未开启3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
--zone #作用域
--add-port=3306/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
systemctl restart firewalld.service
重启防火墙
外部连接成功