Open david2tdw opened 3 years ago
首先启动MySQL
[root@localhost ~]# systemctl start mysqld.service
查看MySQL运行状态
[root@localhost ~]# systemctl status mysqld.service
查看mysqlroot用户的密码
[root@localhost ~]# grep "password" /var/log/mysqld.log
如下命令进入数据库:
[root@localhost ~]# mysql -uroot -p
如果密码登录不进去: 执行:
vi /etc/my.cnf
在[mysqld]下加上 skip-grant-tables,如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
重启mysql
service mysqld restart
用以下命令登陆mysql后就可以修改密码
mysql -u root
mysql> update mysql.user set authentication_string="123456" where user="root";
mysql> flush privileges; #刷新权限(必须步骤)
mysql> select host,user,authentication_string from mysql.user; #查询密码是否生效:
mysql> quit #推出
mysql>mysql - uroot -p #如果依然登录不进去,重启linux系统
安装:
yum -y install mysql80-community-release-el7-3.noarch.rpm
卸载:
yum remove mysql
升级制定软件:
yum update mysql
成功的安装,参考下面这篇文章: CentOS 7安装MySQL8.0
修改用户密码要使用下面这个语句:
alter user 'root'@'localhost' identified by '12345678';
下面这个写法是错误的:
mysql> update mysql.user set authentication_string="123456" where user="root";
修改后密码应该是加密的而不是明文密码。
切换数据库:
use mysql;
查看数据库:
show databases;
查看当前登录用户:
select current_user;
检查虚拟机IP在本地是否可以ping 通过
ifconfig
ping 192.168.3.172
检查虚拟机Mysql的端口是否对外开放
[root@localhost ~]# mysql -u root -p
mysql> show variables like '%port%';
查看虚拟机的3306端口是否开放 cmd下执行
telnet 172.21.0.4 3306
[控制面板 - 程序 - 程序和功能 - 打开或关闭windows功能 - Telnet Client]
首先安装iptables
sudo yum install iptables-services
开启iptables
sudo systemctl enable iptables
sudo systemctl enable ip6tables
启动服务
sudo systemctl start iptables
sudo systemctl start ip6tables
打开指定端口:
vi /etc/sysconfig/iptables
进入编辑页面,在指定位置新增以下配置。放在 -A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT 后面
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
修改完保存退出,重启网卡服务
service iptables restart
mysql给外来主机访问权限
[root@localhost ~]# mysql -u root -p
mysql> use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
mysql> FLUSH PRIVILEGES;
验证远程连接虚拟机数据库访问 在windows中的cmd输入
telnet 172.21.0.4 3306
上面的步骤完成后,navicat 连接 CentOS7 中 MySQL 8.0.22 报错1251问题:
ALTER USER 'root'@'%' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'XXXXX';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'XXX';
FLUSH PRIVILEGES;
MySQL 8.0 设置简单密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
SHOW VARIABLES LIKE 'validate_password%';
set global validate_password.policy=0;
FLUSH PRIVILEGES;
select host,user,authentication_string from mysql.user;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'XXXXX';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'XXX';
数据库笔记——Navicat连接MySQL数据库的1251错误 MySQL 8.0 设置简单密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
查看user、host、加密策略等信息
use mysql;
select user,host,plugin,authentication_string from user;
查找数据库安装目录
find / -type d -name mysql
查看目录具体信息:
ll -tr | grep mysql
重启电脑后需要重新启动iptables服务:
sudo systemctl start iptables
sudo systemctl start ip6tables
select host, user, authentication_string from mysql.user;
show grants for "tdw"@"localhost";
create user "tdw"@"%" identified by "密码";
ALTER USER 'tdw'@'%' PASSWORD EXPIRE NEVER;
SHOW VARIABLES LIKE 'validate_password%';
set global validate_password.policy=0;
FLUSH PRIVILEGES;
ALTER USER 'tdw'@'%' IDENTIFIED WITH mysql_native_password BY 'XXXXX';
不需要执行 FLUSH PRIVILEGES;命令
grant all on "数据库名".* to 'tdw'@'%';
MySQL8出现1251错误: 1.直接修改密码加密方式
mysql> alter user 'root'@'localhost' password expire never; #设置密码不过期
mysql> alter user 'root'@'localhost' identified with mysql_native_password by 'newpassword'; #设置新密码
mysql> flush privileges; # 刷新权限
2.卸载重装 安装时选择 Authentication Method -> Use Legacy Authentication method.
linux无法访问网络:
CentOS 7运行yum出错:Cannot find a valid baseurl for repo: base/7/x86_64
下载,安装mysql8.0
centos7 安装mysql
CentOS7安装MySQL CentOS7安装mysql CentOS 7镜像下载 Linuxt mysql下载地址