CentOS 7安装MySQL的详细步骤
在 CentOS7 中我们在安装 MySQL 的话会默认安装的是 MariaDB。它是一个在 MySQL 被收购之后,作者推出的应一个开源版本。但是,我们可能还是会想安装更纯正的 MySQL
下载并安装MySQL官方的 Yum Repository
在 MySQl 的官网上我们可以 Yum Repository 的下载链接。
wget -i -c https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
使用上边的命令我们就下载到了 Yum Repository,之后我们就可以使用 yum 来进行安装了。
yum -y install mysql80-community-release-el7-1.noarch.rpm
接下来我们就是要开始安装 MySQL
yum -y install mysql-community-server
MySQL 设置
启动 MySQL
systemctl start mysqld.service
查看运行状态
systemctl status mysqld.service
此时,我们的数据库已经运行起来了,不过我们要进入我们的数据库的话还需要在日志中找到我们的 root 用户的密码。在新的版本中,默认生成了 root 用户密码。
grep "passsword" /var/log/mysqld.log
通过上边的命令我们可以查看到我们的 root 用户的密码。
mysql -uroot -p 输入密码进入数据库。
输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
这里密码要有一定的复杂度。
修改完密码之后我们就可以进行正常的操作了。
但此时还有一个问题,就是因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉:
yum -y remove mysql80-community-release-el7-1.noarch
开机启动
shell> systemctl enable mysqld shell> systemctl daemon-reload
添加远程登录用户
默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,我添加一个新的帐户:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'yangxin'@'%' IDENTIFIED BY 'Yangxin0917!' WITH GRANT OPTION;
mysql8和原来的版本有点不一样,8的安全级别更高,所以在创建远程连接用户的时候,不能用原来的命令(同时创建用户和赋权):
必须先创建用户(密码规则:mysql8.0以上密码策略限制必须要大小写加数字特殊符号):
创建用户
mysql>create user chenadmin@'%' identified by 'Chenadmin0.';
进行赋值
mysql>grant all privileges on *.* to chenadmin@'%' with grant option;
最后刷新
mysql>flush privileges;
配置默认编码为utf8
改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:
[mysqld] character_set_server=utf8 init_connect='SET NAMES utf8'
重新启动mysql服务
systemctl restart mysqld