环境:centos7
云服务器厂商:vultr
mysql版本:5.7
添加 MySQL YUM 源
根据自己的操作系统选择合适的安装源,通过 rpm -Uvh
安装。
wget 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm'
rpm -Uvh mysql57-community-release-el7-11.noarch.rpm
安装
yum install mysql-community-server
启动
systemctl start mysqld
测试:
systemctl status mysqld
出现以下:
mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2018-07-30 01:42:01 UTC; 9s ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 29391 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
Process: 29374 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
Main PID: 29394 (mysqld)
CGroup: /system.slice/mysqld.service
└─29394 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
Jul 30 01:42:00 vultr.guest systemd[1]: Starting MySQL Server...
Jul 30 01:42:01 vultr.guest systemd[1]: Started MySQL Server.
就是启动成功。
重点来了,来了。
1号坑(ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)):
安装完以后要改mysql密码,这时使用命令 mysql -uroot -p,然后要我们输入密码,回车。出现以下问题
[root@vultr local]# mysql -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[root@vultr local]# mysql -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
解决方法:
1,停止mysql服务
systemctl stop mysqld.service
2.修改配置文件无密码登录
vi /etc/my.cnf
在该文件的尾部添加:
skip-grant-tables
3.启动mysql,这时是免密登录:
mysql -u root #别加 -p
use mysql;
update mysql.user set authentication_string=password('123456') where user='root' ;
4.把第二步的 skip-grant-tables 删去。
2号坑(ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.):
这是要你确定密码,用mysql -uroot -p,并输入你的密码,进入Mysql后,在mysql命令行中输入
set password = password('123456');#改你自己的密码
3号坑(ERROR 1819 (HY000): Your password does not satisfy the current policy requirements):
这是你2号坑,弄出的新坑。是你改的密码不够满足要求。
使用
set global validate_password_policy=0;
set global validate_password_length=4;
修改级别与最小的默认密码位数。
这回终于可以用mysql了,这是装得最艰辛的一次,没有之一。
参考:
https://blog.csdn.net/u010142437/article/details/79989853
https://www.jianshu.com/p/53ac2d55b279
https://www.jianshu.com/p/7cccdaa2d177
如有啥子问题,请多多指教。