一、前言
1、本教程主要内容
- MySQL 5.7安装(yum)
- MySQL 5.7 ROOT账号密码修改
- MySQL 5.7基础使用与配置
- MySQL shell管理常用语法示例(用户、权限等)
- MySQL字符编码配置
2、本教程环境信息与适用范围
- 环境信息
软件 | 版本 |
---|---|
CentOS | 7.4 Release |
MySQL | 5.7 |
- 适用范围
软件 | 版本 |
---|---|
CentOS | CentOS 6 & CentOS 7 |
MySQL | 5.7.xx |
二、MySQL安装
1、添加包
#CentOS 7
cd /home/downloads
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
sudo rpm -ivh mysql57-community-release-el7-9.noarch.rpm
#CentOS 6
cd /home/downloads
wget https://dev.mysql.com/get/mysql57-community-release-el6-9.noarch.rpm
sudo rpm -ivh mysql57-community-release-el6-9.noarch.rpm
2、安装
#安装
yum install -y mysql mysql-server
#启动
systemctl start mysqld
#进入mysql-shell
mysql -u root -p
3、开放端口
#CentOS7
#开放端口
firewall-cmd --add-port=3306/tcp --permanent
#重新加载防火墙设置
firewall-cmd --reload
#CentOS6
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
iptables save
三、ROOT密码修改
#1.停用服务:
systemctl stop mysqld
#2. 设置mysql服务配置
systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
#3. 开启服务
systemctl start mysqld
#4. 登录(root)
mysql -u root
#5. 更新密码
mysql> UPDATE mysql.user SET authentication_string = PASSWORD('MyNewPassword')
-> WHERE User = 'root' AND Host = 'localhost';
mysql> FLUSH PRIVILEGES;
mysql> quit
#6. 停用服务
systemctl stop mysqld
#7. 取消之前的mysql服务设置
systemctl unset-environment MYSQLD_OPTS
#8. 启动服务
systemctl start mysqld
#9. 登录&修改密码
mysql -u root -p
mysql>SET PASSWORD = PASSWORD('New Password');
四 、用户&权限
1、创建用户&数据库
#新建用户
CREATE USER 'test'@'localhost' IDENTIFIED BY 'Test@123456';
#新建数据库
CREATE DATABASE testdb;
#赋予指定账户指定数据库远程访问权限
GRANT ALL PRIVILEGES ON testdb.* TO 'test'@'%';
#赋予指定账户对所有数据库远程访问权限
GRANT ALL PRIVILEGES ON *.* TO 'test'@'%';
#赋予指定账户对所有数据库本地访问权限
GRANT ALL PRIVILEGES ON *.* TO 'test'@'localhost';
#刷新权限
FLUSH PRIVILEGES;
2、权限示例(mysql-shell)
#1、查看权限
SHOW GRANTS FOR 'root'@'%';
#2、赋予权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
#3、收回权限
REVOKE ALL PRIVILEGES ON *.* FROM 'root'@'%';
#4、刷新权限
FLUSH PRIVILEGES;
#5、删除用户
DROP USER 'test'@'localhost';
五、修改字符编码
1、 查找配置文件位置
[root@centos7 download]# whereis my.cnf
my: /etc/my.cnf
2、 修改配置文件
#修改配置文件
vi /etc/my.cnf
#修改1:增加client配置(文件开头)
[client]
default-character-set=utf8mb4
#修改2:增加mysqld配置(文件结尾)
#charset
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
3、 重启mysql服务
#重启后配置即可生效
systemctl restart mysqld
六、备注
相关阅读
- MySQL中的utf8
http://www.infoq.com/cn/articles/in-mysql-never-use-utf8-use-utf8
- MySQL远程访问与bind-address问题
https://serverfault.com/questions/139323/how-to-bind-mysql-server-to-more-than-one-ip-address