系统: CentOS 7(在CentOS 7中默认有安装MariaDB,这个是mysql的分支,通常来讲仍是使用本身安装的MySQL比较好)java
一、下载并安装MySQLmysql
wget -i -c https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
下载到指定位置后,就能够执行安装了sql
yum -y install mysql80-community-release-el7-3.noarch.rpm
yum -y install mysql-community-server
安装完成后,以前的MariaDB就会被覆盖掉数据库
二、启动MySQL学习
启动MySQL服务:systemctl start mysqld.service测试
查看MySQL服务:systemctl status mysqld.servicespa
查看MySQL是否是开机自启,能够执行命令查看开机自启列表code
systemctl list-unit-files|grep enabled
此时若是要进入MySQL得找出root用户的密码,输入命令server
grep "password" /var/log/mysqld.log
获得密码后,登陆mysql,输入命令blog
mysql -uroot -p
而后回车,提示你输入密码,记得不要输错,输入时密码是不显示的。登陆成功以下图
此时,你须要给你的MySql从新设置密码,由于MySQL默认的就是必须修改密码后才能操做数据库。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Left@zuo123.';
设置密码的时候须要遵照MySQL密码设置规范,若是不符合规范是不能修改为功的。
以下图,我将密码设置为123456,它提示我 密码不符合规范
总之呢,咱们先将密码设置成比较复杂的就好,好比 Abc@123...,先登陆了再说。
若是想要设置简单好记的密码,能够修改密码设置规范,毕竟你不登陆你就不能修改规范。
查看密码规范
SHOW VARIABLES LIKE 'validate_password%';
密码的长度是由validate_password_length决定的,而validate_password_length的计算公式是: validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count) 这时候咱们将密码设置规范修改一下: set global validate_password.policy=0; set global validate_password.length=1;
这时候就能够设置简单的密码了,好比123456
最后一步,设置容许远程链接。
若是直接使用命令:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password'; 会提示一个语法错误,有人说是mysql8的分配权限不能带密码隐士建立帐号了,要先建立帐号再设置权限。也有的说8.0.11以后移除了grant 添加用户的功能。
建立新用户 admin
建立用户:CREATE USER 'admin'@'%' IDENTIFIED BY '123456';
容许远程链接:GRANT ALL ON *.* TO 'admin'@'%';
本人测试过,使用 update user set host = '%' where user = 'root'; 也能够修改
若是使用客户端链接提示了plugin caching_sha2_password错误,这是由于MySQL8.0的密码策略默认为caching_sha2_password
使用命令修改策略
ALTER USER 'admin'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
箭头指的两个用户是我修改过的
而后关闭防火墙,测试链接成功!!
文章为学习记录,若有错误,还望指出!!