参考博文:https://blog.csdn.net/sihai12345/article/details/73381151#comments
安装mysql报错:No package mysql-server available
解决方法:安装MySQL,首先必须添加mysql社区repo通过输入命令:sudo rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
参考博文:https://blog.csdn.net/gongchenupc/article/details/68066990
使用navicat连接数据库报错:错误代码1130,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server
解决方法:参考博文:https://www.haorooms.com/post/mysql_1130
还有一个问题:用本地程序向数据库写数据时,数据库里显示的是一串????????号,
猜测是编码的问题;解决方式:https://blog.csdn.net/zzh920625/article/details/51226312
或:https://blog.csdn.net/u012410733/article/details/61619656
这个问题还没解决,先码着,解决之后更新这篇博文。。。。。。
头疼的是找不到my.cnf这个文件。。。。算了卸载重装。。。。。以上的都作废。。。。
=============================分割线=============================================================
=============================分割线==============================================================
本次的安装环境是centos7.3+mysql8.0
卸载MySQL:https://www.jianshu.com/p/ef58fb333cd6
sudo rpm -Uvh http://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
安装:
yum install mysql-server
rpm -qa | grep mysql*
ok 这样子就算安装好了,
3. 启动MySQL修改密码;
service mysqld start
然后,就该是修改密码阿什么的,然而:命令mysqld
或者:
mysql -u root -p
报错:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
-----------------------------------------------------------------------------------------------------------------------------------------------------------
grep "A temporary password" /var/log/mysqld.log
查看,亏我还走了那么多弯路。哭死。。。。
-----------------------------------------------------------------------------------------------------------------------------------------------------------
进不去。。。然后百度的解决方法是这样的:https://www.cnblogs.com/gumuzi/p/5711495.html(注意:因为我的是mysql8.0,这篇博客里面的关于修改密码的方法并不适用)
解决的办法自然就是重置密码。假设我们使用的是root账户。
1.重置密码的第一步就是跳过MySQL的密码认证过程,方法如下:
修改 /etc/my.cnf 文件,执行命令:
vim /etc/my.cnf
2. 在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证
3.保存,退出。
4.然后重启mysql: #service mysqld stop
#service mysqld start
ok,可以进入,之后就是修改密码:参考博文:https://blog.csdn.net/yi247630676/article/details/80352655(注意这篇博文下面的修改密码语句有误,应该是这个:mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码')
5. #mysql –u root
[敲回车进入]
mysql> flush privileges;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
【mysql8.0以上密码策略限制必须要大小写加数字特殊符号]
Query OK, 0 rows affected (0.05 sec)
6.mysql>\q 退出,然后进入到/etc/my.cnf
把Skip-grant-table语句删除,重新启动数据库
#mysql -u root -p
输入密码即可,
如果报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock
参见博客:https://blog.csdn.net/sihai12345/article/details/73380649
我重启了一下mysql就好了。
ok ,
查看一下编码方式:#show variables like '%char%';
应该都欧克吧,不会在出现乱码的问题了吧。。。
测试过是OK的,激动小半天,哈哈。
阿里云帮助文档:https://help.aliyun.com/knowledge_detail/60077.html?spm=a2c4g.11186631.2.1.b08f5949Ze2FFS
参见博文:https://blog.csdn.net/li_0891/article/details/80915780
或:https://blog.csdn.net/yi247630676/article/details/80352655
1.Root用户登录新增加用户,进行授权再远程连接。
创建账户:mysql> CREATE USER 'admin'@'%'IDENTIFIED BY 'MyPass@123';
Query OK, 0 rows affected (0.10 sec)
2.赋予权限:mysql> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;
Query OK, 0 rows affected (0.04 sec)
3.刷新:mysql> Flush privileges;
Query OK, 0 rows affected (0.01 sec)
然后用navicat 连接测试。纳尼又报错。。1251- Client does not support authentication protocol
参考解决方法:https://blog.csdn.net/seventopalsy/article/details/80195246
方法1.升级navicat驱动;
方法2.把mysql用户登录密码加密规则还原成mysql_native_password.
这里采用方法2解决,具体操作步骤如下:
更改加密方式:mysql>ALTER USER 'admin'@'%' IDENTIFIED WITH mysql_native_password BY 'MyPass@123';
Query OK, 0 rows affected (0.02 sec)
刷新:mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
ok,再测试一次
退出mysql: mysql> \q
Bye
设置开机自启:# chkconfig mysqld on
欧克全部配置已经结束了,一把心酸一把泪阿。
参考资料:https://blog.csdn.net/lxlong89940101/article/details/80246675
https://mysqlserverteam.com/upgrading-to-mysql-8-0-default-authentication-plugin-considerations/
https://blog.csdn.net/qq_32672633/article/details/80325470