1, 如果没有安装 wget, 先安装
yum -y install wget
2, 下载 MySQL 官方的 Yum Repository
wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm
3, 使用上边的命令我们就下载到了 Yum Repository, 之后我们就可以使用 yum 来进行安装了.
yum -y install mysql57-community-release-el7-10.noarch.rpm
4, 安装 MySQL 服务端
yum -y install MySQL-community-server
5, 启动 MySQL
systemctl start mysqld.service
6, 查看 MySQL 运行状态
systemctl status mysqld.service
7, 查看数据库密码
grep "passsword" /var/log/mysqld.log
如果查不到密码, 或者报 Access denied for user 'root'@'localhost' (using password: YES")错误, 那就执行如下步骤:
1, 编辑 /etc/my.cnf , 在[mysqld] 部分最后添加一行
skip-grant-tables
2, 保存后重启 MySQL
service mysqld restart
3, 输入以下命令, 回车后输入密码再回车登录 MySQL
MySQL -uroot -p MySQL
4, 重新设置密码, 其中 your_pwd 部分改为你自己想要设置的密码
update user set authentication_string= password ('lvdaqiang123') where user = 'root';
这里使用 authentication_string 的原因: MySQL 数据库下已经没有 password 这个字段了, password 字段改成了 authentication_string
5, 刷新权限
flush privileges;
6, 将 MySQL 的登录设置修改回来
VIM /etc/my.cnf
将刚才在 [mysqld] 的段中加上的 skip-grant-tables 注释
保存并且退出 VIM
7, 重新启动 MySQL
systemctl restart mysqld
centos6 是 service mysqld restart;
MySQL -uroot -p 进入数据库, 使用语句 show databases; 还会报错误, 还需要做如下修改
1. 修改密码, 密码可以跟之前的步骤一样
ALTER USER USER() IDENTIFIED BY 'lvdaqiang123';
MySQL 版本 5.7.6 版本以前用户可以使用如下命令:
SET PASSWORD = PASSWORD('Xiaoming250');
2. 这里如果报错(执行语句失败), 需要执行如下命令:
- set global validate_password_policy=0;
- set global validate_password_length=1;
8.0 版本的解决方案
- set global validate_password.policy=0;
- set global validate_password.length=1;
再次执行 1 步骤的命令
3. 添加远程用户
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'lvdaqiang123' WITH GRANT OPTION;
语法解析: grant all privileges on 库名. 表名 to 用户名 @"%" identified by "密码";
数据库名. 表名 如果写成. 代表授权所有的数据库
% 代表任何主机都能访问该服务器, 如果想要某一特定 IP 访问, 则将 % 符号改成特定的 IP 地址
flush privileges; # 刷新刚才的内容
4. 但此时还有一个问题, 就是因为安装了 Yum Repository, 以后每次 yum 操作都会自动更新, 需要把这个卸载掉:
yum -y remove mysql80-community-release-el7-1.noarch
5. 设置开机启动的两条命令
- systemctl enable mysqld
- systemctl daemon-reload
6. 配置默认编码为 utf8, 改 / etc/my.cnf 配置文件, 在 [mysqld] 下添加编码配置
- [mysqld]
- character_set_server=utf8
- init_connect='SET NAMES utf8'
7. 重启
systemctl restart mysqld
来源: http://www.bubuko.com/infodetail-3488773.html