1. 服务器环境
服务器使用的是CentOS 7,如果你没有合适的服务器,我推荐使用Vultr,地址:https://www.vultr.com/?ref=7471754 。
2. 安装MySQL 7
下载并安装MySQL Yum Reposity
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
安装 MySQL
yum -y install mysql-community-server
安装过程需要一些时间,安装完成后,如下图所示:
3. 配置 MySQL
启动 MySQL
systemctl start mysqld.service
查看 MySQL 运行状态
systemctl status mysqld.service
获取 root 默认密码
grep "password" /var/log/mysqld.log
登录 MySQL
mysql -uroot -p
输入密码后,即可登录 MySQL,但是默认密码是不能做任何操作的,需要先修改密码。
修改默认密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
4. 开启远程连接
创建用户
CREATE USER 'root'@'%' IDENTIFIED BY 'password';
host是%的用户才可以远程登录,这里可以创建新的用户也可以将已有用户的host设置为%。
用户授权
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
配置防火墙
如果经过上面的配置可以远程连接,这一步可以跳过。
CentOS 7 使用的是 firewalld 防火墙,可以使用 firewall-cmd 命令行工具操作firewalld。
查看防火墙状态
firewall-cmd --state
查看开启的端口
firewall-cmd --zone=public --list-ports
开启3306端口
firewall-cmd --permanent --zone=public --add-port=3306/tcp
firewall-cmd --reload
检查是否生效
iptables -L -n | grep 3306
至此,就可以顺利通过远程连接到 MySQL 了。
其他
默认的mysql配置文件在 /etc/my.cnf,可以通过使用命令:mysql --help|grep 'my.cnf' 查看
另外需要注意的是mysql默认区分大小写,可以使用命令
show variables like 'lower%'
lower_case_file_system 表示数据库文件名是否区分大小写 默认为 OFF 大小写敏感
lower_case_table_names 表示表名是否区分大小写,默认0,大小写敏感
如果修改表名不区分大小写,vi /etc/my.cnf,在最后添加
lower_case_table_names=1
保存,systemctl restart mysqld.service 即可。