第一步:在服务器上下载MySQL数据库
在做这步操作之前咱们要检查一下咱们这个服务器是否以前已经安装过数据库
查看是否安装过mysql使用这个命令:rpm -qa | grep -i mysql
图一:未安装过。
图二:安装过。
第二步:在服务器上删除MySQL数据库
删除mysql 命令:yum -y remove MySQL-*
删除mysql配置文件 命令:rm -rf /etc/my.cnf
删除mysql的默认密码 命令:rm -rf /root/.mysql_sercret
查看有关mysql安装的所有目录 命令:find / -name mysql
如果出现这些目录,依次删掉,直到全部删掉 如:rm -rf /usr/lib64/mysql
如果啥都没有出现,证明服务器没有mysql数据库。
处理好这些问题,就可以开始咱们的mysql安装之旅啦(PS如果你是第一次干这种事情,那么可以忽略上面说得)
**第三步:获取Mysql 8.0的安装包 命令:rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm **
咱们这里用rpm的形式从https://dev.mysql.com这个地址直接获取mysql8.0的安装包
第四步:安装Mysql8.0 命令:yum --enablerepo=mysql80-community install mysql-community-server
自动安装的过程中会提示IS this ok[y/d/N]
按y即可
(ps:下载的速度跟网络、服务器都有关系,要耐心等待哦。)
如果出现Complete! 恭喜你安装成功!
第五步:启动mysql服务 命令:service mysqld start
如果出现start mysqld.service! 恭喜你mysql服务启动成功。
第六步:查看mysql服务运行状态 命令:service mysqld status
第七步:查看mysql初始密码 命令:grep “A temporary password” /var/log/mysqld.log
每个人的初始密码都不一样,我这里的初始密码:sg<*m(8Lzktb,但每个人都会有一个默认的root账号。
这里要记住Enter password:sg<*m(8Lzktb 这里它密码是不会显示出来的,按下回车就可以了。
第九步:重置root初始密码 命令:ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘new password’;
为什么要重置密码呢?因为这里涉及到有关mysql密码策略的东西 命令:SHOW VARIABLES LIKE ‘validate_password.%’;
解决方式一:设置符合的密码格式(大小写字母+数据+符号)
解决方式二:修改密码策略(以讲这种为主)
PS:既然咱们也大概明白了密码策略,如果还是有人不相信这个密码策略的牛*的话,咱们这样玩,我既不改你的策略,也不按你策略格式来,看看会怎样
凉凉,报了个1819错误,意思是:你输入的密码格式有问题。因为咱们的密码为:root,很显然跟上面所说的密码策略格式不一致。
密码策略修改
validate_password.length 是密码的最小长度,默认是8,我们把它改成4
输入:set global validate_password.length=4;
validate_password.policy 验证密码的复杂程度,我们把它改成0
输入:set global validate_password.policy=0;
validate_password.check_user_name 用户名检查,用户名和密码不能相同,我们也把它关掉
输入:set global validate_password.check_user_name=off;
这里要注意 先退出mysql 命令:exit,回到Linux
再重新登陆一下,用我们修改后的账号和密码登录
第十一步:查看root用户里所有的库 命令:show databases;
第十二步:配置远程用户访问权限 命令:GRANT ALL ON . TO ‘root’@’%’;
注意:这里咱们先看看咱们在本地上的数据库mysql的user表
这里可以看到所有用户名和所有权限。如:User:root Select_priv、Insert_priv… 权限为Y,Y是授权。
一个道理,在服务器上,咱们先创建一个远程用户。命令:CREATE USER ‘root’@’%’ IDENTIFIED BY ‘root’;
创建的root默认权限为N
赋予root所有访问权限,包含远程访问权限。 命令:GRANT ALL ON* . *TO ‘root’@’%’;
看下MySQL用户:
输入:use mysql;
输入:select host, user, authentication_string, plugin from user;
可以看到已经新增了host为%的root用户
原因是mysql8.0的加密方式规则不一样,是caching_sha2_password
需要加密方式改成mysql_native_password就行了
语法:ALTER USER ‘[用户名]’@’%’ IDENTIFIED WITH mysql_native_password BY ‘[密码]’;
输入:ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘root’;
加密方式以及改成了mysql_native_password
注意你的服务器端口要放行3306
注意:在解析mysql安装包、查mysql库里面的表时,如果出现乱码;
character_set_client 为客户端编码方式;
character_set_connection 为建立连接使用的编码;
character_set_database 数据库的编码;
character_set_results 结果集的编码;
character_set_server 数据库服务器的编码;
修改这两个字符集就可以了。
Ending…