CentOS 7 安装mysql

我使用的CentOS 版本号是7.6.1810.
安装mysql

步骤一:卸载CentOS自带的MariaDB

rpm -pa|grep mariadb

用这个命令查找出要删除的MariaDB文件
结果显示如下。

mariadb-libs-5.5.56-2.el7.x86_64

删除这个程序

rpm -e mariadb-libs-5.5.56-2.el7.x86_64

报错

依赖检测失败:
 
libmysqlclient.so.18()(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要
 
libmysqlclient.so.18(libmysqlclient_18)(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要
 
libmysqlclient.so.18(libmysqlclient_18)(64bit) 被 (已安裝) postfix-2:2.10.1-6.el7.x86_64 需要

使用强制删除

rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

步骤二: 安装mysql

  • 到mysql 官网找社区版,下载需要安装的mysql包。
  • 因为CentOS是基于RedHat的,mysql没有CentOS包,就找到Red Hat的包


    mysql官网.png
  • 也就是底下第一个,490M
  • 下载完成后解压到目录中。

依照以下顺序安装

(1) mysql-community-common-8.0.11-1.el7.x86_64.rpm
(2) mysql-community-libs-8.0.11-1.el7.x86_64.rpm
(3) mysql-community-client-8.0.11-1.el7.x86_64.rpm
(4) mysql-community-server-8.0.11-1.el7.x86_64.rpm

你也可以按照这个列表逐个下载,本文为了方便,选择了全集包。

启动Mysql

service mysqld start 

获取初始管理员密码

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

此时拿到初始管理员密码,登录mysql
修改初始管理员密码

alter user 'root'@'localhost'IDENTIFIED BY 'MyNewPass123!';
mysql8.0以上密码策略限制必须要大小写加数字特殊符号

添加账户
为了安全起见,强烈建议在远程连接的时候使用非root账户。创建test用户,密码为“MyNewPass1!”,为其分配所有权限

CREATE USER 'test'@'localhost' IDENTIFIED BY 'MyNewPass1!';
GRANT ALL PRIVILEGES ON *.* TO 'test'@'localhost' WITH GRANT OPTION;

CREATE USER 'test'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' WITH GRANT OPTION;

flush privileges;

对于新创建的账户,MySQL 8默认它的密码插件为caching_sha2_password,而现有的客户端工具大都只支持mysql_native_password插件,如果你用现有版本的客户端工具链接会报错“authentication plugin caching_sha2_password cannot be loaded”。

解决方法是改变用户的密码插件:

ALTER USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY 'MyNewPass1!';
flush privileges;

然后需要修改配置文件:

vi /etc/my.cnf
配置文件中,将这一行的#符去掉.png

重新启动:

systemctl restart mysqld

查看用户和权限是否创建成功

select user, host, plugin, authentication_string from mysql.user;
SHOW GRANTS FOR 'test'@'%';

设置开机启动

systemctl enable mysqld

开放端口

sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-ports
``

你可能感兴趣的:(CentOS 7 安装mysql)