一、获取mysql文件的全名
- 查看是否已经安装了mysql
[root@localhost ~]# rpm -qa|grep mysql #无输出说明没有安装 - 打开网址:https://dev.mysql.com/downloads/repo/yum/
- 选择对应linux版本,查看自己的版本:
[root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.8.2003 (Core) - 点击左下角No thanks, just start my download
- 复制下载文件的全名:mysql80-community-release-el7-3.noarch.rpm
二、下载mysql
- 下载和安装mysql源
[root@localhost ~]# wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
如果显示wget未找到命令,则需要先安装wget: yum -y install wget 然后再次执行上面命令 - 安装mysql源
yum -y localinstall mysql80-community-release-el7-3.noarch.rpm
三、安装Mysql
- yum -y install mysql-community-server,下载的东西比较多要稍微等会;
- Centos 安装mysql57 运行 yum install mysql-community-server 出现以下错误:
1.No match for argument: mysql-community-server
2.Error: Unable to find a match: mysql-community-server
请尝试运行 yum module disable mysql
然后在尝试 yum install mysql-community-server 命令即可
四、启动mysql
- systemctl start mysqld
五、设置开机启动
- systemctl enable mysqld
systemctl daemon-reload
六、进入数据库登陆界面
- [root@localhost ~]# mysql -uroot -p
- 通过 cat /var/log/mysqld.log | grep password 命令查看数据库的密码
- 进行数据库的登陆,复制粘贴就行,MySQL 的登陆密码也是不显示的
七、修改密码
- 1.修改: ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘你的密码’;
2.退出MySQL:exit;
3.通过新密码(root)再次登陆 - 注意:可能出现重置密码错误: ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)
- 1.重置密码的第一步就是跳过MySQL的密码认证过程,方法如下:
#vim /etc/my.cnf(注:windows下修改的是my.ini)
在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程
保存文档并退出:
#:wq
2.接下来我们需要重启MySQL:/etc/init.d/mysqld restart
3.重启之后输入#mysql即可进入mysql。
4.接下来就是用sql来修改root的密码
mysql> use mysql;
mysql> update user set password=password(“你的新密码”) where user=“root”;
mysql> flush privileges;
mysql> quit
到这里root账户就已经重置成新的密码了。
5.编辑my.cnf,去掉刚才添加的内容,然后重启MySQL。大功告成!
八、 进行远程访问的授权
-
create user ‘root’@’%’ identified with mysql_native_password by ‘你的密码’;
-
grant all privileges on . to ‘root’@’%’ with grant option;
-
flush privileges;
-
输入exit退出,打开防火墙开放3306端口
-
如果没有开启防火墙,则输入:systemctl start firewalld 开启
-
输入下面命令,开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
九、 配置默认编码为UTF-8
- 修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示: character_set_server=utf8
init_connect=‘SET NAMES utf8’ - 重启mysql服务: systemctl restart mysqld
- 注意:报错信息:
Job for mysqld.service failed because the control process exited with error - 原因分析: 端口3306被占用
- 解决:
ps -aux|grep mysql
删除mysql 进程
kill -9 pid - 查看下编码:mysql> show variables like ‘%character%’;