前言
个人笔记,用于记录
MySQL
安装
# 安装
sudo apt-get install mysql-server
# 初始化配置
sudo mysql_secure_installation
服务启动关闭状态
- 状态
service mysql status
- 启动/重启
service mysql start/restart
- 关闭
service mysql stop
5.7 修改配置
- 连接,输入MySQL
- 端口
netstat -an|grep 3306
vim /etc/mysql/mysql.conf.d/mysqld.cnf
- plugin
use mysql;
select user,host,plugin from user;
update user set plugin='mysql_native_password' where user='root';
flush privileges;
- authentication_string
use mysql;
update user set authentication_string=password('root') where user='root';
flush privileges;
- 查看root用户的访问IP
use mysql;
select user,host from user where user='root';
6. 将其修改为任意IP可以访问,%
use mysql;
update user set host='%' where user='root' and host='localhost';
7. 下面是授予权限,如果出现其他主机无法连接的情况
grant all privileges on *.* to root@'%' identified by 'root' with grant option;
flush privileges;
彻底删除(参考,亲测有效)
- 查看MySQL依赖 : dpkg --list|grep mysql
- 卸载: sudo apt-get remove mysql-common
- 卸载: sudo apt-get autoremove --purge mysql-server-8.0(这里版本对应即可)
- 清除残留数据: dpkg -l|grep ^rc|awk ‘{print$2}’|sudo xargs dpkg -P
- 再次查看MySQL的剩余依赖项: dpkg --list|grep mysql(这里一般就没有输出了,如果有执行下一步)
- 继续删除剩余依赖项,如:sudo apt-get autoremove --purge mysql-apt-config
8.0.x mysql 版本后续变化
- 问题full_group_by
# 解决方式
cd /etc/mysql/mysql.conf.d
vim mysqld.cnf
在文件的【mysqld】下面加上一行,或者去掉已有的sql_mode=only_full_group_by
改为
sql_mode=
STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
- 5.9版本之后修改密码
# 如果为空,直接修改
use mysql;
ALTER user 'root'@'localhost' IDENTIFIED BY '密码';
# 不为空密码
use mysql;
# 将字段置为空
update user set authentication_string='' where user='root';
# 修改密码为root
ALTER user 'root'@'localhost' IDENTIFIED BY '密码';
- 若密码策略不允许简单密码,先用一个满足的密码,再去修改策略
# MySQL 5.7 进行如下设置,即可解决问题:
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
# MySQL 8.0 执行代码:先给个合适密码,再去修改密码策略,最后设置简单密码
mysql> set global validate_password_policy=0;
ERROR 1193 (HY000): Unknown system variable 'validate_password_policy'
mysql> set global validate_password_length=1;
ERROR 1193 (HY000): Unknown system variable 'validate_password_length'