mysql运维常见问题总结

一、mysql的安装与卸载

1、命令行查询是否已经安装

rpm -q mysql //或者
rpm -qa|grep -i mysql

执行命令安装mysql服务端:

yum install mysql-server

如果提示nothing to do 

step 1: wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
step 2: rpm -ivh mysql-community-release-el7-5.noarch.rpm

如果曾安装过其他版本,可以先执行如下命令再安装

 yum remove ***

启动测试:

service mysqld restart

查找文件名中带有mysql的文件

find / -name mysql

二、mysql一些常用命令

service mysqld start 启动服务
service mysqld restart 重启服务
service mysqld stop
mysql --help | grep Distrib 查询mysql版本号

三、mysql如何重置密码

1、关闭服务service mysqld stop
2、修改配置文件 vi /etc/my.cnf     在[mysqld]下面添加skip-grant-tables
3、重启mysql
4、无密码连接mysql mysql -uroot
5、切换数据库 mysql> use mysql
6、修改密码 mysql>UPDATE user SET Password = password ( '123456' ) WHERE User = 'root' ;
7、flush privileges;
8、quit
9、将配置文件修改回来:vi /etc/my.cnf
10、重启mysql服务

如果sqlyog/navicat无法连接,可是mysql本机明明可以连,远程连接需要设置以下步骤:
1、mysql -uroot -p123456
2、use mysql
3、update user set host='%' where user = 'root';
4、select host from user where user = 'root'; 
5、如果有%,此时已经可以远程连接
6、flush privileges;

阿里云安装mysql-server后,如何设置允许外部ip访问?

通过授权法相对安全,本地登录mysql,mysql -uroot -p****,然后执行如下命令

CREATE USER 'azkaban'@'%' IDENTIFIED BY 'azkaban'; 
GRANT all privileges ON azkaban.* to 'azkaban'@'%' identified by 'azkaban' WITH GRANT OPTION;
flush privileges;


 

四、mysql如何新增用户

用root用户登录,选择数据库mysql,执行以下sql

insert into mysql.user(Host,User,Password,ssl_cipher,x509_issuer,x509_subject) values("localhost","changhf",password("123456"),"","","");

navicat 用root用户也是可以操作新增用户的,包括赋予权限操作

五、windows下修改root密码

window环境尽管不常用,架不住别人问,记录一下

1)MySQL 服务下载安装 https://www.mysql.com/downloads/
选择最下面的社区版
使用管理员身份打开cmd.exe,输入E:进入解压后的bin路径下,运行以下命令免安装
mysqld --initialize-insecure --user=mysql
默认帐号root,后面的-user=mysql不更改,-initialize-insecure生成空密码

2)修改密码

1. 关闭正在运行的MySQL服务。 

2. 打开DOS窗口,转到bin目录下。 
3. 输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。 
4. 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到bin目录。 
5. 输入mysql回车,如果成功,将出现MySQL提示符 >。 
6. 连接权限数据库: use mysql; 。 
6. 改密码:update user set authentication_string=password("123") where user="root";(mysql5.7已经不叫password了) 。 
7. 刷新权限(必须步骤):flush privileges; 。 
8. 退出 quit。 
9、kill mysqld进程 重启mysql服务

六、Navicat连接mysql错误记录

导入mysql脚本时,出现如下错误,经排查是Navicat的版本有bug问题,我使用的是Navicat11.0,换到11.2.16,问题解决

Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nona

七、Too many connections

解决办法:修改文件/etc/my.cnf

max_connections=1000
wait_timeout=5

修改后重启MySQL服务即可,否则经常出现提示错误无法连接,不建议线上操作。

你可能感兴趣的:(mysql,mysql,数据库,运维)