安装 MySQL

安装 repo

切换到 root 用户

su

因为 centos 没有 mysql 的仓库安装源,需要从 mysql 官网下载包含 mysql 的仓库。repo下载页面 ,在此页面选择合适的版本。这里选择 centos7 下的mysql8.0:

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

下载后将 repo 进行安装

yum -y install mysql80-community-release-el7-5.noarch.rpm

查看 repolist

yum repolist

源标识                                源名称                                                状态
base/7/x86_64                         CentOS-7 - Base                                       10,072
extras/7/x86_64                       CentOS-7 - Extras                                        512
mysql-connectors-community/x86_64     MySQL Connectors Community                               192
mysql-tools-community/x86_64          MySQL Tools Community                                     90
mysql80-community/x86_64              MySQL 8.0 Community Server                               343
nodesource/x86_64                     Node.js Packages for Enterprise Linux 7 - x86_64          76
updates/7/x86_64                      CentOS-7 - Updates                                     3,842

退出 root 用户,回到普通用户 lishiqing 的身份

exit

安装 MySQL

以普通用户 lishiqing 的身份安装 mysql-server,sudo 命令需要输入 lishiqing 用户的密码

sudo yum -y install mysql-server

启动 mysql

sudo systemctl start mysqld
sudo systemctl enable mysqld
sudo systemctl status mysqld

防火墙开放 3306 端口(阿里云则选择安全组开放 3306 端口)

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

3306/tcp

为确保数据库的安全性和正常运转,需要对数据库程序进行初始化操作

mysql_secure_installation

Enter password for user root: 
Error: Access denied for user 'root'@'localhost' (using password: NO)

如果报错,则因为 MySQL 的 root 用户有默认密码,需要将 root 用户的密码修改为空。

将 root 用户密码修改为空

在配置文件添加 skip-grant-tables

修改配置文件 /etc/my.cnf

sudo vi /etc/my.cnf

在最后一行添加 skip-grant-tables

skip-grant-tables

重新启动 mysqld

sudo systemctl restart mysqld

进入数据库修改 root 用户的密码

在命令行登录 mysql 服务器,输入密码的时候直接按回车

mysql -u root -p

进入 mysql 数据库,修改 root 用户的密码为空

mysql> use mysql;
mysql> update user set authentication_string='' where user='root';

退出 mysql

mysql> exit;

在配置文件去掉 skip-grant-tables

修改配置文件 /etc/my.cnf

sudo vi /etc/my.cnf

去掉最后一行的 skip-grant-tables

#skip-grant-tables

重新启动 mysqld

sudo systemctl restart mysqld

初始化数据库

在客户端生成一个随机字符串,作为后面 MySQL root 用户的密码

openssl rand -base64 32

qd8UFzJp8hPerzyp+a01NYHGGK8XEoOerF5tUdg0Ppo=

为确保数据库的安全性和正常运转,需要对数据库程序进行初始化操作

sudo mysql_secure_installation

让你设置一个MySQL root 用户的密码,将刚才的随机字符串粘贴过来,请保存好这个字符串

后面一律选择 y

是否确定使用这个密码?y
是否删除匿名用户?y
是否不允许 root 用户远程登录?y
是否删除 test 数据库?y
是否现在重载权限? y

创建新用户与数据仓库

登录 mysql

mysql -u root -p

创建新用户

mysql> create user 'xb2_node_operator'@'%' identified by 'zgPtqsiAynPpFZkLKz4cgA2ipVLePU6FFLPcN0YIYtE=';

'xb2_node_operator'@'localhost':xb2_node_operator 用户只能连接本地的数据库
'xb2_node_operator'@'%':xb2_node_operator 用户可以连接本地或远程的数据库
zgPtqsiAynPpFZkLKz4cgA2ipVLePU6FFLPcN0YIYtE= 是在客户端使用 openssl rand -base64 32 生成的随机字符串,这里作为 xb2_node_operator 用户的密码,请保存好

创建数据仓库

mysql> create database xb2_node;

让用户管理数据仓库

mysql> grant all privileges on xb2_node.* to 'xb2_node_operator'@'%';

退出 mysql

mysql> exit;

你可能感兴趣的:(安装 MySQL)