目录
1 MySQL安装
1.1 安装epel源
yum -y install epel-release.noarch
1.2 安装MySQL Repository
(1)安装wget下载工具
yum -y install wget
(2)下载MySQL官方yum源安装包
官方下载yum资源包地址:https://dev.mysql.com/downloads/repo/yum/
(3)安装MySQL Repository
wget http://repo.mysql.com/mysql80-community-release-el7-11.noarch.rpm
1.3 安装MySQL官方yum源
yum -y install mysql80-community-release-el7-11.noarch.rpm
1.4 安装服务端、客户端
yum -y install mysql-community-server mysql
1.5 启动MySQL服务
systemctl start mysqld
设置开机自启
systemctl enable mysqld
2 MySQL 使用
2.1 获取初始登录密码
MySQL密码默认写在 /var/log/mysqld.log
grep 'password' /var/log/mysqld.log
可查看到我们的初始密码为:wc-ydYFpk3h3,我们将其复制。
2.2 登录MySQL数据库
方法一:
mysql -uroot -p
出现“Enter password:”时输入刚才复制的密码即可。
方法二:
mysql -uroot -p+'刚才复制的密码'
【切记-p和后面’密码’之间不能有空格,否则会提示输入密码】
2.3 修改密码
alter user 'root'@'localhost' identified by '新密码’;
【新密码必须符合复杂性要求,包含大小写字母+字符+数字,且长度不少于8位,可以跟我一样设置成 Abcdefg@123】
Abcdefg@123
出现如图所示情况即表示设置成功!
2.4 退出数据库
\q 或者 quit 或者exit 都可以退出。
\q
quit
exit
2.5 使用新密码登录数据库
mysql -uroot -p'Abcdefg@123'
2.6 重启数据库
systemctl restart mysqld
2.7 创建数据库并设置字符集和权限
(1)登录数据库
mysql -uroot -p'Abcdefg@123'
(2)创建数据库mortal并设置字符集
create database mortal character set utf8 collate utf8_bin;
【问题解决】
如图显示我们2 warnings。
我们使用下面命令查看warnings。
show warnings;
方法一:
我们修改数据库mortal 字符集
alter database mortal default character set utf8mb4 collate utf8mb4_bin;
方法二:
删除数据库mortal
drop database mortal;
使用如下命令重新创建数据库并设置字符集即可。
create database mortal character set utf8mb4 collate utf8mb4_bin;
没 error 和 warnings 即表示成功!
(3)查看数据库创建是否成功
show databases;
2.8 授权
(1)授权
MySQL授权语句用于授予一个用户或多个用户的访问权限。具体的语法如下:
GRANT privileges ON database.table TO 'user'@'host';
其中,
privileges
代表授权的权限,可以是SELECT
、INSERT
、UPDATE
、DELETE
、CREATE
、DROP
、INDEX
等;database
代表需要授权的数据库名称,table
代表需要授权的数据表名称;user
代表用户名,host
代表用户所在的主机地址。
举个例子,假设我们需要授权一个名为test_user
的用户,使其拥有testdb
数据库中的user_info
数据表的SELECT
和INSERT
权限,并且该用户是在本地主机上访问的,那么授权语句可以写成:
GRANT SELECT, INSERT ON testdb.user_info TO 'test_user'@'localhost';
注意,在执行授权语句前,我们需要先登录MySQL,并拥有足够的权限。另外,MySQL还提供了对授权进行撤销的语句,即
REVOKE
语句。其语法与GRANT
语句类似,可以用于回收用户的权限。
grant all privileges on mortal.* to 'root'@'localhost';
(2)刷新权限
flush privileges;
(3)查看授权
show grants for 'root'@'localhost';