Linux安装Mysql

一,Yum安装mysql

1,使用官方的yum源(MySQL Yum Repository

  1. wget https://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

     
    Paste_Image.png

     

  2. 安装yum的源 yum localinstall mysql57-community-release-el7-9.noarch.rpm//解决本地rpm包依赖的问题。mysql安装教程

 

 
image.png

yum repolist all | grep mysql //查看可用的mysql源
yum-config-manager --disable mysql55-community
yum-config-manager --disable mysql56-community
yum-config-manager --enable mysql57-community启用哪个版本的mysql源
yum repolist enabled | grep mysql查看启动的源

 

使用yum安装指定版本的mysql,linux安装mysql

yum -q list available --showduplicates mysql-community-server.x86_64
yum install mysql-community-server-5.7.12-1.el6.x86_64
mysql --version

  1. 安装mysql服务 yum install mysql-community-server

  2. 启动mysql服务器(server)

service mysqld start //centos 7 以下
systemctl start mysqld //centos 7

5)查看mysql默认密码。

sudo grep 'temporary password' /var/log/mysqld.log(密码可以直接复制,输入终端)
命令行执行, mysql_secure_installation,可以进行mysql的安全设置,也可修改密码(不需要登录mysql)。mysql忘记密码处理

 
Paste_Image.png

mysql -uroot -p登录(使用默认密码)
SHOW VARIABLES LIKE 'validate_password%';
SET PASSWORD = PASSWORD('new_password');//修改成符合规则的密码。
set global validate_password_policy=0;采用只验证长度的规则
set global validate_password_length=6;修改密码最小长度
show global variables like "%super_read_only%";// 全局只读
flush privileges;

  1. 忘记、修改密码

关闭mysql服务。systemctl stop mysqld
/etc/my.cnf 增加参数

skip-grant-tables #跳过授权, 使用这个参数的时候,需要注释掉validate_password配置
validate_password=OFF #不使用密码加强插件

登录mysql mysql -uroot
选择数据库 use mysql
修改密码 update user set authentication_string=PASSWORD('pwd!@#') where User='root';
刷新 flush privileges;
重启mysql。systemctl restart mysqld

2, 查看服务器的状态

status是状态是系统的状态不可更改,是系统现在的运行状态参数。查看mysql版本
variables是系统变量。全局变量影响服务器的全局操作。会话变量影响具体客户端连接相关操作。可以使用set global max_connections = 1000

1)show variables; 查看mysql服务器的配置信息。

show variables like "%max_connections%"; // 最大俩结束
show global variables like "%datadir%"; //数据文件的目录
show processlist // 查看当前连接的信息。

2)show (global) status; 查看mysql服务器的状态信息(本次mysql启动后)

show global status like "com_insert"; // 执行insert的总次数。
show global status like "Com_select"; //执行的select总次数。
show global status like "uptime"; //运行时间。

3)使用socket客户端登录。(不需要重启)

[client]
host = 127.0.0.1
user = root
password = root
port = 3306
socket = /var/nebula/mysql/mysql.sock

3,非本机连接数据库

1)阿里云机器需要增加安全组。端口3306


 
Paste_Image.png

2)允许执行ip,用户名连接mysql服务器。
问题:


 
Paste_Image.png

命令

解决方案:


 
Paste_Image.png

给ip以及用户授权。
grant all privileges on *.* to 'root'@'119.57.xx.xx' identified by 'pwdxxx';
flush privileges;

不停止服务修改密码
grant all privileges on *.* to root@localhost identified by 'pwd';
grant all privileges on *.* to root@127.0.0.1 identified by 'pwd';
flush privileges;

查看现有用户以及权限
select user, host from mysql.user;
show grants for 'root'@'%';
授予权限
GRANT SELECT ON \ *.* TO 'reader'@'%' IDENTIFIED BY 'reader';
GRANT ALL ON *.* TO 'write'@'%' IDENTIFIED BY 'write' with grant option;
取消授权
drop user root@"172.17.0.1";

执行mysql远程登录即可。mysql创建用户

查看mysql status
.show status;
show global status;

6,直接使用/usr/local/mysql目录直接安装mysql

1)拷贝一份

 
image.png

2)/var/lib/mysql/ 清空原有内容
3)在my.cnf增加skip-grant-tables
/usr/local/mysql/sbin/mysqld --initialize
/usr/local/mysql/support-files/mysql.server -->/etc/init.d/mysqld启动脚本
update user set authentication_string=PASSWORD('root') where User='root';
flush privileges;
清空/var/lib/mysql/
复制一份 /usr/local/mysql/support-files/my-default.cnf -> /etc/my.cnf,增加skip-grant-tables
/usr/local/mysql/sbin/mysqld --initialize
/usr/local/mysql/support-files/mysql.server -->/etc/init.d/mysqld启动脚本
update user set authentication_string=PASSWORD('root') where User='root';
flush privileges;


作者:沐兮_d64c
链接:https://www.jianshu.com/p/857f579ce3d6
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
posted @ 2021-11-16 09:08  DB哥  阅读(110)  评论(0编辑  收藏  举报