mysql之安装和配置(一)

时间:2023-03-09 22:53:42
mysql之安装和配置(一)

环境

  • oracle linux7.3

  • 数据库:MySQL-5.7.20

mysql的安装

  • 先安装依赖的插件
yum install libaio
  • 去官网下载mysql-5.7.20的tar.gz包;
https://dev.mysql.com/downloads/mysql/
# 将下载包解压到/usr/local/目录下
tar mysql-advanced-5.7.20-linux-glibc2.12-x86_64 -C /usr/local
# 创建一个mysql的用户组
groupadd mysql
# 为用户组添加用户
useradd -r -g mysql mysql
cd /usr/local
# 为解压文件创建一个简单的软链接
ln -s mysql-advanced-5.7.20-linux-glibc2.12-x86_64 mysql
cd mysql
# 创建一个用户数据的文件
mkdir mysql-files
# 将该文件夹交给mysql组下的mysql用户
chown mysql:mysql mysql-files
# 授权
chmod 750 mysql-files
# 执行初始化脚本
cd bin
./mysqld --initialize --user=mysql # ./mysql_intsall_db脚本初始化方式已经被弃用
# 添加加密
./mysql_ssl_rsa_setup
# 安全启动mysql
./mysqld_safe --user=mysql&

注意:

  • 执行初始化后会出现如下,提示默认密码,记住这个密码
A temporary password is generated for root@localhost: XXXXXXX, XXXXXXX
  • 登录mysql修改初始密码
mysql -u root -p
set password=password('new_password')
  • 如果是系统自带的mysql版本,第一次登陆的时候也需要修改初始密码;
# 去日志找到初始随机密码
cd /var/log
cat mysqld.log | grep password
  • 出现‘A temporary password is generated for root@localhost: xxxxxxx’就是root用户的初始随机密码

  • 更多详细内容参见mysql 5.7以上修改初始密码

  • 将mysqld添加到系统环境变量

vi /etc/profile
# 在末尾添加
export MYSQL_HOME="/usr/local/mysql/"
export PATH="$PATH:$MYSQL_HOME/bin"
# 应用配置
source /etc/profile
  • 设置开机自启动
# 编辑启动脚本
vi smysql
#!/bin/sh
#chkconfig: 2345 30 70
/usr/local/mysql/support-files/mysql.server start # 注册到自启动服务
chkconfig --add smysql
chkconfig smysql on

用户相关

  • 查看当前MySQL的所有的用户
use mysql;
select host,user from mysql.user;
  • 查看mysql用户的权限
show grants for root@'localhost';
  • MySQL创建一个用户
# create user "用户的名称"@"主机的IP,如果任意使用%代替" identified by "登陆的密码,为空则没有密码";
create user 'usrabc'@'%' identified by 'usrabc';
  • 用户授权

授权格式:grant 权限 on 数据库 to 用户名@登录主机;

说明:

  1. 权限:指的是privileges,可以使select,insert等,所有的权限使用all;
  2. 数据库:写数据库名,表名,所有数据库用.;
  3. 用户名@登录主机:给授权的用户和指定的主机,所有主机使用'%';
  • 注意:

授权的用户不能对其他用户进行授权,如果想让该用户可以授权,用以下命令:

grant 权限 on 数据库 to 用户名@登录主机 with grant option;
grant all privileges on *.* to 'username'@'%' with grant option;

# 刷新权限表
flush privileges; # 退出MySQL重启
service mysql restart
  • 设置更改用户的密码
# root管理员更改其他的用户的密码
set password for 'username'@'%' = password('123456');
# 如果是用户修改密码
set password = password('123456');
  • 撤销用户权限
# 其相关的参数同用户的授权的一样
revore privileges on 数据库 from 'username'@'host';
  • 删除用户
# 使用root操作
drop user 'username'@'host';

卸载并彻底删除

  • 目前我的系统的使用yum安装的,因此使用yum卸载,
$ yum remove mysql
  • 还有许多的残留文件需要删除
# 全局查找mysql文件
find / -name mysql
# 将查找到的每个目录删除
rm -rf xxx -rf xxx ...
  • 重启后可以安装新的mysql了