下载 MySQL 源安装包,能够下载到本地,再上传到服务器mysql
也能够直接使用 wget 直接下载sql
wget http://repo.mysql.com/mysql57-community-release-el7-11.noarch.rpm数据库
安装 mysql 源安全
yum -y install mysql57-community-release-el7-11.noarch.rpm服务器
安装 mysqlsocket
yum -y install mysql-community-server工具
systemctl start mysqld.service 启动 mysql
systemctl stop mysqld.service 中止 mysql
systemctl restart mysqld.service 重启 mysql
systemctl status mysqld.service 查看 mysql 当前状态ui
配置文件:/etc/my.cnf
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid阿里云
此时 MySQL 已经正常运行,进入 MySQL 须要 root 用户的密码,使用下面指令从 log 中拿到默认密码编码
grep "password" /var/log/mysqld.log
使用以下命令进入数据库:
mysql -uroot -p

输入初始密码,此时不能作任何事情,由于 MySQL 默认必须修改密码后才能操做数据库,登陆 MySQL,重置密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
MySQL 安装了密码安全检查插件,默认密码检查测会要求密码包含:大小写字母,数字,特殊字符,而且长度不能小于8位,不然会提示出错
密码策略(执行下面这条指令,必须先修改密码)
show variables like '%password%';
validate_password_policy:密码策略,默认为MEDIUM策略
validate_password_dictionary_file:密码策略文件,策略为STRONG才须要
validate_password_length:密码最少长度
validate_password_mixed_case_count:大小写字符长度,至少1个
validate_password_number_count :数字至少1个
validate_password_special_char_count:特殊字符至少1个
策略
0 | LOW 检查长度
1 | MEDIUM 检查长度,数字,大小写字母,和特殊字符
2 | STRONG 检查长度,数字,大小写字母,和特殊字符,dictionary file
修改 /etc/my.cnf,在 [mysqld] 下添加以下配置,而后重启 mysql:
character_set_server=utf8
init_connect='SET NAMES utf8'
默认只容许 root 帐户在本地登陆,若是要在其它机器上链接 mysql,必须修改 mysql 容许远程链接,或者添加一个远程链接子帐户
select host, user from user;
容许远程计算机链接,修改成%表示容许任意的host访问,若是只容许一个 IP 访问,能够修改成相应的 IP。好比修改成 192.168.3.45,表示只容许这个IP远程访问mysql,修改事后重启 MySQL
update user set host = '%' where user = 'root';
使用 mysql -uroot -p 登陆数据库,查看全部数据库
show databases;
使用某一个数据库
use dbname;
建立数据库
create database chatdb;
删除数据库
drop database chatdb;
对于数据库的操做,在命令行操做不够友好,可使用 GUI 工具,MySQL 的图形管理工具备不少,在此使用 MySQL Workbench
在本地能够登陆成功,远程登陆可能失败,登陆失败常见缘由以下:
IP 地址,用户名和密码不匹配
防火墙限制端口号(关闭防火墙,或者容许端口号公网访问)
数据库限制 IP 访问(参考 MySQL 远程登陆)
在上面信息都匹配的状况下,我仍然不能访问,服务器使用的是阿里云,系统 CentOS,解决方法?
登陆阿里云控制台,找到安全组策略,添加 3306 端口