Mac
Linux
下载安装包
# 下载wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz# 解压tar -xvf ./mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
添加到环境变量
# 移动位置mv mysql-5.7.36-linux-glibc2.12-x86_64 /usr/local/mysql# 添加到PATHvim ~/.bash_profile# 添加PATH = $PATH:/usr/local/mysql/bin# source ~/.bash_profile
创建用户和用户组
# 创建用户组groupadd mysql# 创建用户useradd -r -g mysql iimt# 修改目录权限chown -R iimt.mysql /usr/local/mysql
初始化数据库
# 创建数据目录,当前目录 use/local/mysqlmkdir data# 初始化mysqld --user=iimt --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --initialize
配置文件
- 创建配置文件
vim /etc/my.cnf
- 添加以下内容
[mysqld]datadir=/usr/local/mysql/databasedir=/usr/local/mysqlsocket=/tmp/mysql.sockuser=iimtport=3306character-set-server=utf8# 取消密码验证skip-grant-tables# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0# skip-grant-tables[mysqld_safe]log-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid
启动
- 加入到服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
- 设置开机启动
chkconfig mysql on
- 启动mysql
service mysql start# 成功显示如下Starting MySQL. [ OK ]
设置密码
- 进入mysql
mysql -u root -p# 无需输入密码,直接回车(因为上面开启了 skip-grant-tables)
- 设置密码
use mysqlupdate user set authentication_string=password('密码') where user='root';exit
- 开启密码验证
vim /etc/my.cnf# 注释 skip-grant-tables 这一行
- 重启
service mysql restart
- 之后进入mysql就需要输入刚刚设置的密码了 ## 开启远程连接
mysql -u root -p# 输入密码use mysqlupdate user set host='%' where user = 'root';flush privileges;exit;
开启端口
阿里云服务器
添加安全组如下
其他服务器
# 查看防火墙是否已开启3306端口firewall-cmd --query-port=3306/tcp# 设置永久开放3306端口firewall-cmd --add-port=3306/tcp --permanent# 查看防火墙状态,若为dead则未开启systemctl status firewalld# 停止防火墙systemctl stop firewalld# 开启防火墙systemctl start firewalld
可能出现的问题
若出现
You must reset your password using ALTER USER statement before executing this statement...
错误,执行如下操作之后继续即可。