一、上传安装包方式
1、安装依赖
yum install -y libaio-* #安装依赖
2、mysql安装
mkdir -p /usr/local/mysql #创建mysql安装目录
cd /usr/local/src #进入软件压缩包管理区域
wget http://zy-res.oss-cn-hangzhou.aliyuncs.com/mysql/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
#在线下载mysql安装包
tar -xzvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
#在线解压mysql安装包
mv mysql-5.7.17-linux-glibc2.5-x86_64/* /usr/local/mysql/
3、依次运行以下命令建立 MySQL 组和用户,并将用户添加到组中
groupadd mysql
useradd -g mysql -s /sbin/nologin mysql
运行命令初始化MySQL数据库
/usr/local/mysql/bin/mysqld --initialize-insecure --datadir=/usr/local/mysql/data/ --user=mysql
4、更改MySQL安装目录的属性
chown -R mysql:mysql /usr/local/mysql
依次运行以下命令设置开机自启动
cd /usr/local/mysql/support-files/
cp mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld # 添加执行权限
vim /etc/rc.d/rc.local
在 rc.local 文件中添加 /etc/init.d/mysqld start
(按 i 进入编辑模式,按 esc 退出编辑模式,按 :wq 保存并退出)
启动MySQL数据库
/etc/init.d/mysqld start
5、设置环境变量
运行 vi /root/.bash_profile 打开文件,按 i 进入编辑模式。
将 PATH 修改为
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
按 esc 键退出编辑模式,输入 :wq 保存并关闭文件。
运行 source /root/.bash_profile 重新执行文件
6、修改 MySQL 的 root 用户密码
初始化后 MySQL 为空密码可直接登录,为了保证安全性需要修改 MySQL 的 root 用户密码。
mysqladmin -u root password 密码
测试登录 MySQL 数据库。
mysql -uroot -p密码 #-p和密码之间无空格
远程数据库授权
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'rootroot' WITH GRANT OPTION;
二、yum安装方式
由于CentOS7的yum源中没有mysql,需要到mysql的官网下载yum repo配置文件。
下载命令:
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz
然后解压即可:
tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
启动mysql:
systemctl start mysqld
查看mysql状态:
systemctl status mysqld
获取mysql的临时密码:
grep 'temporary password' /var/log/mysqld.log
登录mysql:(密码为上一步骤获取的临时密码)
mysql -u root -p(此处不用输入密码,按下回车后会专门要你再输入密码的)
登录成功后,做任何操作都会被要求先修改密码
show databases;
请注意:如果修改的密码太过简单,依然会提示error,修改失败
因为5.7及以上版本的数据库对密码做了强度要求,默认密码的要求必须是大小写字母数字特殊字母的组合且至少要8位长度
ALTER USER 'root'@'localhost' IDENTIFIED BY '新的密码';
按照系统的默认要求,修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '-520Lemon-';
修改完成后,即可愉快的操作数据库:
show databases;
参考 https://blog.csdn.net/qq_42623400/article/details/123764453
扩展一:
修改密码的强度:
1、先查看密码的规则:
SHOW VARIABLES LIKE 'validate_password%';
关注两个信息即可:
a、validate_password_length=8,表示长度最少为8位
b、validate_password_policy=MEDIUM,表示密码的安全等级为中
关于密码安全等级为中的意思,参考官方文档,得到的答案:
说白了也就是:密码必须满足:数字、小写字母、大写字母 、特殊字符、长度至少8位
2、所以,我们接下来只要修改密码安全等级和长度,即可在以后修改密码后者是新增用户上,密码可以任意我们来设置了。
ps:先将密码安全等级设置为最低
set global validate_password_policy=0;--表示将密码安全等级设置为low
set global validate_password_length=6;--表示将密码长度设置为最小6位
3、接下来,你就可以随便修改密码了;
ALTER USER 'root'@'localhost' IDENTIFIED BY '520lemon';
扩展二:
使用可视化工具连接:
1、先查看默认的数据库
show databases;
2、进入到mysql库:
use mysql;
3、查看数据库的用户信息:
select host,user from user;
由此可见,此时只能在Linux本地上进行mysql的登录
4、赋权,让某一用户,可以在任意的主机上连接数据库
GRANT ALL PRIVILEGES ON *.* TO 'lemon'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
5、刷新权限,让刚赋权的用户配置信息生效
flush privileges;
6、此时,我们就可以用用户名为lemon,密码为123456的账号信息,使用可视化工具进行连接了
ps:如果是云服务器,请注意去云服务器的控制台->安全组,开放3306端口(3306是mysql数据库的默认端口号)