1. Linux上安装MySQL
1.1 环境准备
- 卸载mariadb,否则安装mysql会出现冲突
- 执行命令rpm -qa | grep mariadb
- 列出所有被安装的mariadb rpm 包;
- 执行命令rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
1.2 本地安装(不推荐)
上传下载好的软件包到系统中
执行本地安装包之前必须先安装vim
yum install -y vim
安装步骤
rpm -ivh perl-*
rpm -ivh net-tools-2.0-0.22.20131004git.el7.x86_64.rpm
rpm -ivh mysql-community-common-5.6.42-2.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.6.42-2.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.6.42-2.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.6.42-2.el7.x86_64.rpm
1.3 在线安装
1.添加官方的yum源创建并编辑mysql-community.repo文件
vi /etc/yum.repos.d/mysql-community.repo
2.粘贴以下内容到源文件中
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
注意:如果需要安装mysql5.7只需要将baseurl修改即可
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
3.安装mysql
sudo yum install mysql-community-server
1.4 设置root用户密码
# 1.启动mysql数据库
[root@localhost mysql]# systemctl start mysqld
# 2.修改mysql数据库密码
mysqladmin -u root -p password 回车 输入原始密码 在输入新的密码
注意:5.7之前版本安装完成之后没有密码,mysql5.7之后的版本的初始密码是随机生成的,放在了 /var/log/mysqld.log
使用命令 grep ‘temporary password’ /var/log/mysqld.log 读出来即可
# 3.登录mysql
[root@localhost mysql]# mysql -u root -p
注意:可通过cat /var/log/mysqld.log | grep password查看初始密码
1.5 开启远程访问
1.安装完成mysql时,发现mysql数据库,不允许我们远程连接需要修改设置
2.登录mysql,并选择使用mysql数据库
show databases;
3.查看mysql库中的所有表
show tables;
4.查询user表
select * from user\G;
\G表示格式化
可以看到此时只允许localhost访问
要将root的host变为%表示允许任意客户端访问
5.执行如下命令
grant all privileges on *.* to 'root'@'%' identified by '密码' with grant option;
6.刷新权限
flush privileges;
7.重启服务(可略)
systemctl restart mysqld
8.测试连接
MySQL忘记密码解决方法
vim /etc/my.cnf文件;
在[mysqld]后添加skip-grant-tables(登录时跳过权限检查)
重启MySQL服务:sudo systemctl restart mysqld
此时不需要密码就可登录
修改密码
登录mysql,输入mysql –uroot –p;直接回车(Enter)
set password for 'root'@'localhost'=password('123456');
为避免麻烦,再次设置远程访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;
flush privileges;
退出:exit
再把my.ini的skip-grant-tables删除或者注释掉
重启MySQL:sudo systemctl restart mysqld
再次连接,成功