Linux服务器搭建JavaWeb开发环境(MySQL安装与配置)

197 阅读2分钟

本文介绍Linux CentOS 7.6环境下MySQL的安装与配置过程。

安装

先检查是否已经安装mysql-server

rpm -qa|grep mysql-server

下载mysql 5.6rpm包

wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm

安装

rpm -ivh mysql-community-release-el6-5.noarch.rpm

安装服务器

yum -y install mysql-community-server

默认配置文件是/etc/my.cnf

修改配置文件

  1. vi /etc/my.cnf
  2. 设置字符集,在my.cnf文件的[mysqld]节点下添加
    default-character-set=utf8//5.1以前用这个
    character-set-server=utf8//5.5后使用这个即可
    
  3. my.cnf其他配置
    [mysql]
    default-character-set=utf8
    
    [client]
    port=3306
    

启动mysql

systemctl start mysql.service
systemctl start mysqld

自启动配置

chkconfg mysqld on

通过下面的命令可以查看是否成功

chkconfig --list mysqld 

查看结果,如下图(如果2到5位启用on状态即ok)

截屏2022-05-08 20.27.15.png

防火墙配置

如果需要允许远程访问则需要开放端口,此时需要在防火墙规则里配置开放3306端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

ps:iptables配置开放端口有点奇怪,还要遵循一定的顺序,太垃圾了,建议别用。

修改用户默认密码

update user set password=PASSWORD('密码') where User='mysql用户名';

修改完后登录mysql需要使用mysql -u root -p登录,必须修改root用户密码,否则安全性很低

删除匿名用户

delete from mysql.user where user='';
flush privileges;

添加新用户

insert into mysql.user(Host,User,Password) values("localhost","用户名",password("密码"));

用insert语句可能会报错,需要修改my.cnf配置找到sql-mode这一行

sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

允许远程访问

update user set Host='%' where User='用户名';

远程登录必须要设置密码

赋予用户所有权限

//把数据库的所有权限赋予给从ip登录过来的某个用户
grant all privileges on 数据库名称.* to 用户名@'ip地址' identified by '密码'
//把所有权限赋予给某个用户
grant all privileges on *.* to 用户名@'%' identified by '密码';
flush privileges;

权限粒度可以控制的很细。