MySQL安装、配置与优化

无人久伴 提交于 2019-12-17 18:53:52

首先打开MySQL官网选择安装包
添加链接描述
在centOS中输入uname -a查看系统版本

打开MySQL官网选择安装包

在centOS中输入uname -a查看系统版本

然后下载并解压上传

比如我的是el7.x86_64,我们选择Red Hat Enterprise Linux /Oracle Linux的安装包,选择下载上面的mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar这个压缩包,下载时选择No thanks, just start my download开始下载,不需要登录等操作。下载完成后将压缩包解压后通过Xftp软件上传至centos服务器上即可。

安装设置

我们在安装mysql之前需要确认本机是否已经安装了mysql,使用命令rpm -qa | grep mysql查看是否已经安装了mysql,另外还需要使用rpm -qa|grep -i mariadb查看是否已经安装了Mariadb 的数据库版本。如果已安装的话,需要使用yum -y remove命令进行卸载。接下来我们安装依赖包,使用yum -y install make gcc-c++ cmake bison-devel ncurses-devel libaio
libaio-devel安装。使用rpm -ivh 命令分别安装common、libs、server、client这四个包,注意common必须先安装,其次是libs。

安装成功后使用service mysqld start命令去启动mysql服务

配置MySQL

设置密码

安装成功后使用service mysqld start命令去启动mysql服务,此时会自动生成一个临时的密码,我们使用grep “A temporary
password” /var/log/mysqld.log查看这个临时密码,root@localhost:后面的即为密码,我们将该密码复制用于登录,临时密码需要修改,否则将不能进行mysql的其他设置。使用mysql -u root -p 进行登录,然后输入上面复制的密码即可。

因为上面的密码是临时密码,使用该密码不能进行任何修改mysql的操作,因此我们需要修改mysql的密码,使用alter user user() identified by
“123456”。 将密码设置为123456,由于密码太简单了,不符合密码检查策略要求,因此我们需要修改密码策略,validate_password.policy:密码策略,默认为MEDIUM策略,我们设置为0,validate_password.length:密码最少长度,我们设置为1。设置完成后需要重启服务,用mysql -u root -p 进行登录,然后使用新的密码即可。

配置远程访问

一、允许root用户在任何地方进行远程登录,并具有所有库任何操作权限,具体操作如下:(已验证)

在本机先使用root用户登录mysql:

mysql -u root -p"youpassword"

进行授权操作:

mysql>GRANT ALL PRIVILEGES ON . TO
‘root’@’%’ IDENTIFIED BY ‘youpassword’ WITH GRANT OPTION;

重载授权表:

FLUSH PRIVILEGES;

退出mysql数据库:

exit

二、允许root用户在一个特定的IP进行远程登录,并具有所有库任何操作权限,具体操作如下:

在本机先使用root用户登录mysql:

mysql -u root -p"youpassword"

进行授权操作:

GRANT ALL PRIVILEGES ON . TO
root@“172.16.16.152” IDENTIFIED BY “youpassword” WITH GRANT OPTION;

重载授权表:

FLUSH PRIVILEGES;

退出mysql数据库:

exit

三、允许root用户在一个特定的IP进行远程登录,并具有所有库特定操作权限,具体操作如下:

在本机先使用root用户登录mysql:

mysql -u root -p"youpassword"

进行授权操作:

GRANT select,insert,update,delete ON . TO root@“172.16.16.152”
IDENTIFIED BY “youpassword”;

重载授权表:

FLUSH PRIVILEGES;

退出mysql数据库:

exit

四、删除用户授权,需要使用REVOKE命令,具体命令格式为:

REVOKE privileges ON 数据库[.表名] FROM user-name;

具体实例,先在本机登录mysql:

mysql -u root -p"youpassword"

进行授权操作:

GRANT select,insert,update,delete ON TEST-DB TO
test-user@“172.16.16.152” IDENTIFIED BY “youpassword”;

再进行删除授权操作:

REVOKE all on TEST-DB from test-user;

****注:该操作只是清除了用户对于TEST-DB的相关授权权限,但是这个“test-user”这个用户还是存在。

最后从用户表内清除用户:

DELETE FROM user WHERE user=“test-user”;

重载授权表:

FLUSH PRIVILEGES;

退出mysql数据库:

exit

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!