在阅读《高性能MySQL(第4版)》-西尔维亚·博特罗斯,准备在本地虚拟机CentOS7上安装MySQL,以下是安装步骤。
1、安装 MySQL Yum 仓库
http://repo.mysql.com/ 有不同的版本,el7代表CentOS7版本,按照日期安装最新的版本;
# 切换为root用户,需要输入root用户密码
sudo -s
# 下载mysql yum仓库
wget http://repo.mysql.com/mysql80-community-release-el7.rpm
# 安装mysql yum仓库
rpm -ivh mysql80-community-release-el7.rpm
2、安装MySQL
1)查看是否安装MySQL,如果需要重新安装,可以用以下命令卸载
# 查看是否安装mysql
yum list installed | grep mysql
# 卸载
rpm -e --nodeps mysql
2)安装mysql-server
yum install mysql-community-server -y //-y参数是表示安装的时候选yes
3)启动mysql服务
service mysqld start
service mysqld可以带很多个动作,例如:start, stop, restart, try-restart, reload, force-reload, status
4)查看root密码
安装MySQL 8.0 系统会随机生成密码,可以通过以下命令查看
grep "temporary password" /var/log/mysqld.log
5)修改root密码
# 以root用户连接mysql, 回车后,输入上一步grep到的随机密码
mysql -u root -p
# 修改密码为xxx,密码必须包含大小写字母、特殊字符、数字
alter user 'root'@'localhost' identified by 'xxx';
6)创建用户
# 创建用户,并且自定义密码,密码必须包含大小写字母、数字、特殊字符
CREATE USER '用户名'@localhost IDENTIFIED BY '密码';
# 给用户名授权,xxx就是上一步的用户名
GRANT ALL PRIVILEGES ON *.* TO 'xxx'@localhost WITH GRANT OPTION;
解释:
GRANT:表示授权的关键字。
ALL PRIVILEGES:表示所有的权限,包括创建、删除、修改、查询等操作。
ON .:表示授权的对象是所有的数据库和表,*.*的意思是所有数据库.所有表。
TO ‘xxx’@localhost:表示授权的用户是xxx,只能从本地主机localhost登录。
WITH GRANT OPTION:表示授权的用户可以将自己的权限再授予其他用户。
# 将当前user 和privilige 表中的用户信息/权限设置从mysql 库(MySQL数据库的内置库) 中提取到内存里
FLUSH PRIVILEGES;