CentOS7安装mysql8.0.12

根据搜集的资料安装测试并在安装测试过程中整理的文档,部分参考文档在相应位置有标记。如有不足希望不吝赐教。


目录

一、配置yum源

1.下载mysql源安装包

2.安装mysql源

3.检查是否安装成功

4.修改安装版本(非必须)

二、安装mysql

三、启动mysql服务

1.启动

2.查看启动状态

3.设置开机启动

四、配置及部分命令

1.修改登录密码

2.添加远程登录用户

3.sqlyog链接时出现2058异常

4.修改默认编码方式

5.部分参数配置查询命令

五、彻底卸载mysql

1.卸载软件

2.删除文件


一、配置yum源

1.下载mysql源安装包

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

复制下载链接:https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

本次下载目录为:/home/目录,因此进入:cd /home

执行下载命令:

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

 

2.安装mysql源

下载完成后使用下面命令安装源:

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

 

3.检查是否安装成功

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

 

4.修改安装版本(非必须)

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

例如要安装5.7版本,将5.7源的enabled=0改成enabled=1,将8.0的enabled=1改成enabled=0即可,如下(本次未做修改,直接安装最新版8.0.12):

 

二、安装mysql

直接使用命令:yum install mysql-community-server即可。

 

三、启动mysql服务

1.启动


 
 
  1. systemctl start mysqld
  2. 或者
  3. service mysqld start

 

2.查看启动状态


 
 
  1. systemctl status mysqld
  2. 或者
  3. service mysqld status

 

3.设置开机启动


 
 
  1. systemctl enable mysqld
  2. systemctl daemon-reload

 

四、配置及部分命令

1.修改登录密码

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

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

本地MySQL客户端登录

mysql -uroot -p
 
 

密码是上一步查询出来的。输入后回车。

然后修改密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'TestBicon@123';
 
 

或者

set password for 'root'@'localhost'=password('TestBicon@123');
 
 

注意:mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误,如下图所示:

通过msyql环境变量可以查看密码策略的相关信息(执行这一步需要先修改默认密码,即执行完上一步修改才可以,否则会报错:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.):

show variables like '%password%';
 
 

validate_password_policy:密码策略,默认为MEDIUM策略

validate_password_dictionary_file:密码策略文件,策略为STRONG才需要

validate_password_length:密码最少长度

validate_password_mixed_case_count:大小写字符长度,至少1个

validate_password_number_count :数字至少1个

validate_password_special_char_count:特殊字符至少1个

上述参数是默认策略MEDIUM的密码检查规则。

修改密码策略:

在/etc/my.cnf文件添加validate_password_policy配置,指定密码策略:

选择0(LOW),1(MEDIUM),2(STRONG)其中一种,选择2需要提供密码字典文件。

validate_password_policy=0

 

如果不需要密码策略,添加my.cnf文件中添加如下配置禁用即可:

validate_password = off

 

重新启动mysql服务使配置生效:systemctl restart mysqld

 

2.添加远程登录用户

默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户。

修改root用户远程访问权限:

选择 mysql 数据库:use mysql;

在 mysql 数据库的 user 表中查看当前 root 用户的相关信息:

select host, user from user;
 
 

查看表格中 root 用户的 host,默认应该显示的 localhost,只支持本地访问,不允许远程访问。

授权 root 用户的所有权限并设置远程访问

GRANT ALL ON *.* TO 'root'@'%';
 
 

如果报错:ERROR 1410 (42000): You are not allowed to create a user with GRANT

则使用:

update user set host='%' where user ='root';
 
 

然后使用下面命令使修改生效:

flush privileges;
 
 

如有需要再执行之前授权报错的命令即可成功,最后同样使用flush privileges;命令刷新。

 

3.sqlyog链接时出现2058异常

完成上面的配置使用sqlyog链接时会出现2058的异常,此时我们需要修改mysql,命令行登录mysql(与修改密码中登录相同,使用修改后的密码),然后执行下面的命令:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
 
 

其中password为自己修改的密码。然后SQLyog中重新连接,则可连接成功,OK。

如果报错:ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'则使用下面命令:

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
 
 

 

4.修改默认编码方式

mysql8.0默认编码方式为utf8mb4,因此使用时不需要修改,可使用如下命令查看:

SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';
 
 

 

如果需要修改其他编码方式,方法有很多,以下仅为举例。

比如需要修改为utf8mb4,可以使用如下方式:

修改mysql配置文件my.cnf(windows为my.ini)

my.cnf一般在etc/mysql/my.cnf位置。找到后请在以下三部分里添加如下内容:

[client]

default-character-set = utf8mb4

[mysql]

default-character-set = utf8mb4

[mysqld]

character-set-client-handshake = FALSE

character-set-server = utf8mb4

collation-server = utf8mb4_unicode_ci

init_connect='SET NAMES utf8mb4'

重启mysql即可。

collation_connection 、collation_database 、collation_server是什么没关系。但必须保证以下这几个变量必须是utf8mb4。:

  • character_set_client  (客户端来源数据使用的字符集)
  • character_set_connection     (连接层字符集)
  • character_set_database   (当前选中数据库的默认字符集)
  • character_set_results (查询结果字符集)
  • character_set_server (默认的内部操作字符集)

 

数据库连接参数中:

characterEncoding=utf8会被自动识别为utf8mb4,也可以不加这个参数,会自动检测。

而autoReconnect=true是必须加上的。

 

5.部分参数配置查询命令

#查询mysql最大连接数设置

show global variables like 'max_conn%';

SELECT @@MAX_CONNECTIONS AS 'Max Connections';

 

# 查看最大链接数

show global status like 'Max_used_connections';

 

# 查看慢查询日志是否开启以及日志位置

show variables like 'slow_query%';

 

# 查看慢查询日志超时记录时间

show variables like 'long_query_time';

 

# 查看链接创建以及现在正在链接数

show status like 'Threads%';

 

# 查看数据库当前链接

show processlist;

 

# 查看数据库配置

show variables like '%quer%';

 

五、彻底卸载mysql

1.卸载软件

yum remove mysql-community-server
 
 

完成后使用rpm -qa|grep mysql命令查看,如果有查询结果,则使用yum remove 名称清理掉。如图:

 

再使用命令rpm -qa | grep -i mysql查看,如果有结果使用rpm -e 名称卸载。例如:

 

2.删除文件


 
 
  1. rm -rf / var/lib/mysql
  2. rm /etc/my.cnf
  3. rm -rf /usr/share/mysql -8.0

如果需要重新安装,在安装完成启动之前可以先对mysql目录赋予权限防止异常发生:

chmod -R 777 /var/lib/mysql
 
 

END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值