一,Yum安装mysql
1,使用官方的yum源(MySQL Yum Repository)
-
wget https://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
Paste_Image.png
-
安装yum的源 yum localinstall mysql57-community-release-el7-9.noarch.rpm//解决本地rpm包依赖的问题。
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
yum -q list available --showduplicates mysql-community-server.x86_64
yum install mysql-community-server-5.7.12-1.el6.x86_64
mysql --version
-
安装mysql服务 yum install mysql-community-server
-
启动mysql服务器(server)
service mysqld start //centos 7 以下
systemctl start mysqld //centos 7
5)查看mysql默认密码。
Paste_Image.pngsudo grep 'temporary password' /var/log/mysqld.log(密码可以直接复制,输入终端)
命令行执行, mysql_secure_installation,可以进行mysql的安全设置,也可修改密码(不需要登录mysql)。
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;
- 忘记、修改密码
关闭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是状态是系统的状态不可更改,是系统现在的运行状态参数。
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 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;
网友评论