阿里云上安装mysql(mysql8.0+centos 7.3)

参考博文: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

1.下载MySQL

sudo rpm -Uvh http://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

安装:

yum install mysql-server

2.查看安装:

 rpm -qa | grep mysql*

 阿里云上安装mysql(mysql8.0+centos 7.3)_第1张图片

ok 这样子就算安装好了,

3. 启动MySQL修改密码;

service mysqld start

 然后,就该是修改密码阿什么的,然而:命令mysqld

或者:

mysql -u root -p

报错: 

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

-----------------------------------------------------------------------------------------------------------------------------------------------------------

原因是因为mysql8.0有初始化密码的,使用命令

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语句删除,重新启动数据库

4.登陆mysql

#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就好了。

阿里云上安装mysql(mysql8.0+centos 7.3)_第2张图片

ok ,

查看一下编码方式:#show variables like '%char%';

阿里云上安装mysql(mysql8.0+centos 7.3)_第3张图片

应该都欧克吧,不会在出现乱码的问题了吧。。。 

测试过是OK的,激动小半天,哈哈。

5.打开阿里云服务器的3306端口

阿里云帮助文档:https://help.aliyun.com/knowledge_detail/60077.html?spm=a2c4g.11186631.2.1.b08f5949Ze2FFS

6.设置远程连接

参见博文: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(mysql8.0+centos 7.3)_第4张图片
成功。。。

7.设置开机自启(我也不知道有没有用)

退出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

 

你可能感兴趣的:(mysql)