mysql 安装

mysql 安装:
https://dev.mysql.com/downloads/
https://dev.mysql.com/downloads/repo/yum/    #centos 下载地址
rpm -ivh mysql80-community-release-el7-3.noarch.rpm     #安装源,会在 /etc/yum.repos.d/ 下生成 mysql-community.repo 文件
yum repolist all | grep mysql    #查看 yum 源中是否有 mysql 安装包
yum install -y yum-utils    #安装管理工具
yum-config-manager --disable mysql80-community        #禁用 mysql 8.0
yum-config-manager --enable mysql57-community        #启用 mysql 5.7
yum install -y mysql-community-server    #安装
systemctl start mysqld.service    # 开启服务
grep "password" /var/log/mysqld.log    #查看初始密码
mysql -uroot -p's9Wfh.Zgeiro'    #登录

修改初始密码:
mysql> show variables like 'validate_password%';
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> alter user 'root'@'localhost' identified by '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

方法1:
mysql> set global validate_password_policy=0;    #修改密码策略
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password_length=1;    #修改密码长度
Query OK, 0 rows affected (0.00 sec)

mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)

mysql_secure_installation    #方法2


修改密码策略:
show variables like 'validate_password%';
set global validate_password_policy=0;
set global validate_password_length=0;
alter user user() identified by '123456';
flush privileges;

修改远程连接
select user,host,authentication_string from mysql.user;
update mysql.user set host='%' where user='root';
flush privileges;


其他命令

systemctl start mysqld.service    # 开启服务
systemctl enable mysqld.service    # 开机自启动
systemctl status mysqld.service        # 检查MySQL服务器的状态
netstat -ln | grep 3306    # 查看端口
grep "password" /var/log/mysqld.log    # 从日志文件中获取 root 账户初始密码

mysql -uroot -p's9Wfh.Zgeiro'    #登录

初始化服务
# 直接用该密码登陆会要求改密码,最好先进行向导操作

# 安全向导
mysql_secure_installation

# 输入 root 初始密码,初始密码中有特殊字符时需转义
Enter password for user root:
# 设置新密码,密码太简单会提示错误:Your password does not satisfy the current policy requirements
New password
# 是否确认修改root密码
Change the password for root
# 是否删除匿名用户
Remove anonymous users
# 是否禁止root远程登录
Disallow root login remotely
# 是否删除test数据库
Remove test database and access to it
# 是否现在刷新权限
Reload privilege tables now

设置简单密码
-- 查看密码策略
SHOW VARIABLES LIKE 'validate_password%';

-- 修改密码策略,修改密码检查强度和密码长度就可以
-- 8.0 之前
set global validate_password_policy=0;
set global validate_password_length=4;
-- 8.0 之后
set global validate_password.policy=0;
set global validate_password.length=4;

-- 修改当前用户密码
ALTER USER USER() IDENTIFIED BY '123456';
-- 修改指定用户密码
ALTER user 'root'@'localhost' IDENTIFIED BY '123456';

忘记 root 密码情况下设置密码
# 编辑配置文件
vim /etc/my.cnf
# 文件最后添加免密登陆
skip-grant-tables

# 重启 mysql 服务
systemctl restart mysqld.service
# 登陆 mysql,不用密码
mysql -uroot

清空密码
-- 清空指定账户密码
use mysql;
update user set authentication_string='' where user='root';

-- 退出 mysql,删除免密登陆配置,重启 mysql 服务,用空密码登陆,然后进行修改密码操作


添加远程访问权限
# iptables
# 开放端口
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
# 保存配置
service iptables save

# firewalld
# 开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 重启 firewall
firewall-cmd --reload
# 查看已开放端口
firewall-cmd --list-ports

# 关闭防火墙
systemctl stop firewalld.service
# 关闭开机自启
systemctl disable firewalld.service


为已有用户添加远程访问权限
-- 选择mysql数据库
use mysql;

-- 修改指定用户登录位置,%为任意地址,可配置指定IP
update user set host='%' where user='root';

-- 修改登陆密码和加密规则,8 版本默认的认证插件为Caching_sha2_password,原来是mysql_native_password,不修改 Navicat 等工具连接会认证失败
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

-- 刷新权限
flush privileges;


创建新用户并添加远程访问权限
-- 创建用户(user1为用户名,%为登陆地址任意ip,也可指定,123456为登录密码)
CREATE USER 'user1'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

-- 默认创建的用户是无权限,只能登录而已,(all:所有权限,有select,update等等权限,后面的*.*:指定数据库.指定表,这里指所有,to后面是用户)
grant all on *.* to 'user1'@'%';

-- 刷新权限
flush privileges;

查看登陆权限

use mysql;
select host,user from user;


配置(/etc/my.cnf)
修改 datadir 路径到其它磁盘后可能会出现服务启动失败的情况,这时关闭 selinux 即可。
[mysqld]
# 关闭密码验证,可设置简单密码
validate_password=off

# 存储引擎
default-storage-engine=INNODB

# 编码
character-set-server=utf8

# 排序规则
collation-server=utf8_general_ci

# 免密登陆
skip-grant-tables

常用命令
-- 查看版本
select version();

-- 设置编码
SET NAMES utf8;

-- 查看编码
show variables like '%character%';

-- 查看排序规则
show variables like 'collation%';

-- 查看储存引擎,Support列,YES表示支持,DEFAULT表示默认,NO表示不支持
show engines;
show variables like '%storage_engine%';

-- 设置储存引擎
SET default_storage_engine=InnoDB;

-- 查看日志文件位置
select @@log_error;

-- 查看数据文件位置
select @@datadir;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值