安装数据库

安装MySQL

参考文章: https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/

CentOS7的默认源中采用的是MariaDB

我们这里来安装MySQL

首先到 https://dev.mysql.com/downloads/repo/yum/

这个网站去找到Linux 7对应版本的rpm源

当前是MySQL 8.0

rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
yum makecache

这时候就可以通过源安装mysql了

yum -y install mysql-community-server

修改mysql配置文件,让其支持简单密码,否则密码必须包含大写小写数字和符号

vim /etc/my.cnf
[mysqld]
# 在原有配置后面添加如下内容
# 服务器默认字符集
character-set-server=utf8
# 表名默认都是小写
lower_case_table_names=1
# 监听的端口默认3306
port=3306
# SQL执行模式
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
# 是否校验密码,旧版本5.7以前采用
# validate-password=OFF

启动并初始化mysql

systemctl start mysqld

如果在修改配置文件之前启动初始化过mysql的话可能会启动报错:

[ERROR] [MY-011087] [Server] Different lower_case_table_names settings for server ('1') and data dictionary ('0').

目前来看是8.0的一个问题,没有好的解决办法,重装mysql是一个办法。

mysql日志里找到root初始密码

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

登陆mysql

mysql -uroot -p

8.0版设置允许简单密码(不然密码强制要求大写小写数字和符号)

set global validate_password.policy=0;
set global validate_password.length=4;

输入前面找到的密码,然后修改默认密码(不修改密码不能进行操作)

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

如果想要远程使用root用户进行登陆,还需要更改root用户的Host

use mysql;
update user set host='%' where user='root';
flush privileges;

这时候搭建就完成了。

查看当前mysql版本

mysql -V

或者登陆到mysql里

select version();

这个命令可以进行一些简单的安全设置,有兴趣的可以了解一下。

mysql_secure_installation

安装MariaDB

CentOS7的默认源中的MariaDB版本为5.5

先添加最新版本的repo

首先到 https://downloads.mariadb.org/mariadb/repositories/

这个网站去找到Linux 7对应版本源,要求我们自行录入

其中的源调整为清华大学的镜像,提高国内访问速度

vim /etc/yum.repos.d/MariaDB.repo
# MariaDB 10.4 CentOS repository list - created 2019-07-12 06:52 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = https://mirrors.tuna.tsinghua.edu.cn/mariadb/yum/10.4/centos7-amd64
gpgkey=https://mirrors.tuna.tsinghua.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1

然后安装MariaDB

yum -y install MariaDB-server MariaDB-client

修改配置文件,同mysql的设置,注意路径不同

vim /etc/my.cnf.d/server.cnf
[mysqld]
# 在mysqld下面添加如下内容
character-set-server=utf8
lower_case_table_names=1
port=3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

启动并初始化mariadb,mariadb的服务名同样可以使用mysqld,比如下面两条命令相同

systemctl start mariadb
systemctl start mysqld

后面均使用mariadb作为服务名

登陆本地mariadb,同样可以使用mysql作为命令,下面两条命令相同

mariadb
mysql

修改默认密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

如果想要远程使用root用户进行登陆,还需要更改root用户的Host

use mysql;
update user set host='%' where user='root';
flush privileges;

这时候搭建就完成了。

查看当前mariadb版本

mariadb -V

或者登陆到mariadb里

select version();

mysql安全设置的命令同样可以使用。

后面均使用mariadb作为运行环境。