centos7系统安装mysql8(亲测)

centos7系统安装mysql8(亲测)

(centos是基于红帽系统开发的)

step one:

.首先卸载centos7中自带的mariadb

rpm -qa|grep mariadb //查询出来已安装的mariadb

rpm -e --nodeps 文件名 //卸载mariadb,文件名为上述命令查询出来的文件

3.查看是否已经安装了mysql

    rpm -qa | grep -i mysql

查找mysql文件,使用rm -rf mysql文件路径删除

    find / -name mysql

删除分散mysql文件

    find / -name mysql / # whereis mysql

删除配置文档

    rm -rf /etc/my.cnf

再次查找机器是否安装mysql

    rpm -qa|grep -i mysql


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

step two:

.下载 rpm 包

在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/

在官网找到对应的 MySQL 的源,我们选择 mysql80-community-release-el7-1.noarch.rpm 社区免费正式发布版8.0

wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm

安装 rpm 包

yum localinstall mysql80-community-release-el7-1.noarch.rpm

**(该步可能会报错:warning: mysql80-community-release-el7-1.noarch.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY这是由于yum安装了旧版本的GPG keys造成的 ) (解决方法:rpm --import /etc/pki/rpm-gpg/RPM*  引用后再安装

vim /etc/yum.repos.d/mysql-community.repo  (找到 [mysql80-community] 确保 enabled=1)

查看是否安装到位

yum repolist enabled | grep "mysql.*-community.*"

 

修改安装版本(非必须)
如果需要安装指定版本的mysql,可以修改/etc/yum.repos.d/mysql-community.repo源,改变默认安装的mysql版本。

例如要安装5.7版本,将5.7源的enabled=0改成enabled=1,将8.0的enabled=1改成enabled=0即可

安装 mysql-server

yum install mysql-community-server  (太慢了)

#// 或yum install mysql-server

 

启 MySQL 服务

systemctl start mysqld

设置开机启动 

 systemctl enable mysqld

systemctl daemon-reload

ps:如果安装好后  无法启动   

1把 vim /etc/my.cnf 里加的东西先删除 
2安装后已经启动mysql后有数据的需要删除数据并初始化mysql 
删除 MySQL的数据 /var/lib/mysql
 
rm -rf /var/lib/mysql


再重启

 

5、修改root本地登录密码

mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:

shell> grep 'temporary password' /var/log/mysqld.log

root默认密码

shell> mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!'; 

或者

mysql> set password for 'root'@'localhost'=password('MyNewPass4!'); 

注意:mysql8修改密码策略

show global variables like '%validate_password%';

#验证策略 0-->low  1-->MEDIUM  2-->strong
set global validate_password.policy=0;

#密码最小长度
set global validate_password.length=3;

查看密码策略(修改临时密码之后才可查看)

show variables like 'validate_password%';

8之前 validate_password_     8之后validate_password.

修改密码策略

set global validate_password.policy=0;(0或LOW代表低级)

密码验证策略低要求

set global validate_password.mixed_case_count=0;

 密码至少要包含的小写字母个数和大写字母个数

set global validate_password.number_count=0; 

密码至少要包含的数字个数。

set global validate_password.special_char_count=0; 

密码至少要包含的特殊字符数

set global validate_password.length=6;  

密码长度

 修改密码

ALTER user 'root'@'localhost' IDENTIFIED BY '密码'

密码不能使用root

 

6、添加远程登录用户

默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,我添加一个新的帐户:

mysql8和原来的版本有点不一样,8的安全级别更高,所以在创建远程连接用户的时候,

不能用原来的命令(同时创建用户和赋权):

mysql>grant all PRIVILEGES on *.* to guaiyouyisi@'%' identified  by '123456';

必须先创建用户(密码规则:mysql8.0以上密码策略限制必须要大小写加数字特殊符号):

mysql>create user guaiyouyisi@'%' identified  by 'Guaiyouyisi.';

再进行赋值:

mysql>grant all privileges on *.* to guaiyouyisi@'%' with grant option;

最后刷新一下:

mysql>flush privileges;

当你进行远程连接是,会出现这样的错误:

Unable to load authentication plugin 'caching_sha2_password'.

是因为mysql8使用的是caching_sha2_password加密规则,最简单的方法是修改远程连接用户的加密规则:

mysql>ALTER USER 'guaiyouyisi'@'%' IDENTIFIED WITH mysql_native_password BY 'Guaiyouyisi.';

7、配置默认编码为utf8

修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'

重新启动mysql服务,查看数据库默认编码如下所示:

mysql默认编码


默认配置文件路径: 
配置文件:/etc/my.cnf 
日志文件:/var/log//var/log/mysqld.log 
服务启动脚本:/usr/lib/systemd/system/mysqld.service 
socket文件:/var/run/mysqld/mysqld.pid

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章