当前位置:Gxlcms > 数据库问题 > centos下安装mysql5.7

centos下安装mysql5.7

时间:2021-07-01 10:21:17 帮助过:3人阅读

1.centos7 怎样安装mysql

============================================================================================

安装步骤如下:

1.首先确认系统是否已经安装了mysql或者mariaDB
rpm -qa | grep mysql
rpm -qa | grep mariaDB

2.如果有相关安装包,则立即卸载
rpm -e --nodeps 安装包名称
如:rpm -e --nodeps mysql-community-client-5.1.18-1.el7.i686
注意:一定要将mariaDB包和自带mysql包卸载干净,否则安装时出现各种奇妙错误,导致失败。

3.去官网https://dev.mysql.com/downloads/mysql/下载相应版本的mysql。
我的CentOS7是32位的,所以选择了Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86,32-bit)。
最小安装下载四个文件即可:
mysql-community-common-5.7.19-1.el7.i686.rpm
mysql-community-libs-5.7.19-1.el7.i686.rpm
mysql-community-client-5.7.19-1.el7.i686.rpm
mysql-community-server-5.7.19-1.el7.i686.rpm

4.安装顺序:
rpm -ivh mysql-community-common-5.7.19-1.el7.i686.rpm
rpm -ivh mysql-community-libs-5.7.19-1.el7.i686.rpm
rpm -ivh mysql-community-client-5.7.19-1.el7.i686.rpm
rpm -ivh mysql-community-server-5.7.19-1.el7.i686.rpm
注意:common先装,libs依赖common,client依赖libs,server依赖common和client。

5.检查安装目录
执行whereis mysql出现下面的信息说明已经安装成功了。
mysql: /usr/bin/mysql /usr/lib/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz

6.检查mysql配置文件
vi /etc/my.cnf
主要内容如下,一般什么都不需要更改,默认值即可。
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

7.检查目录权限:
一定确保datadir设置的路径的所有组和所有者是mysql,如果不是则运行下面命令更改,如果不改则初始化会失败。
chown mysql:mysql -R /var/lib/mysql

8.关闭服务:
如果mysql服务打开,则将其关闭
service mysqld stop

9.这里是重点:一定要执行初始化!
mysqld --initialize -insecure --user=mysql
注意:这里一定要加上-insecure,这样mysql会创建一个没有密码的root账户,否则会创建有密码的,密码会写在/var/log/mysqld.log里面。

10.开启服务:
service mysqld start

11.登录账户:
如果创建了没有密码的root账户,则直接mysql回车,就会进入mysql了。
否则mysql -u root -p,输入密码。

至此,mysql的root账户可以登录本地的mysql了,但是默认不支持远程登录,以下是如何让root账户远程登录的流程:

12.使用数据库mysql
use mysql;

13.查询root账户信息
select * from user \G;
这样会看到root账户没有密码,那么我们给它加个密码,没有密码的root账户是不允许远程登录的。

14.修改root账户的密码:

必须修改两个全局参数:

set global validate_password_policy=0;

set global validate_password_length=1;

update user set aurhentication_string=PASSWORD(‘your password‘) where user=‘root‘;
注意:新版的mysql 5.7.15后需要上面的改法,因为字段变更为aurhentication_string了,网上烂大街那个不能用。

15.commit权限更改:
一定执行下面的语句,否则修改密码不生效。
flush privileges;

16.确认密码修改成功:
exit; 退出mysql
然后
mysql -u root -p
输入密码

17.登录成功后给root账户授权远程登录
GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘your password‘ WITH GRANT OPTION;
flush privileges;
注意:%表示任何机器都可远程mysql,如果把%变成某个ip,就是指定某个机器才可以远程登录。

18.尝试远程登录:
找个客户端,输入相关信息
主机名或ip:******
端口:3306
用户名:root
密码:your password

=====================================================================================

2.mysql 密码忘记了,怎么办?

====================================================================================

处理如下:

1.vi /etc/my.cnf

2.在[mysqld]中添加

skip-grant-tables

例如:

[mysqld]
skip-grant-tables
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

3.重启mysql

service mysql restart

4.用户无密码登录

mysql -uroot -p (直接点击回车,密码为空)

5.选择数据库

use mysql;

6.修改root密码

update user set authentication_string=password(‘123456‘) where user=‘root‘;

7.执行

 flush privileges;

8.退出

exit;

9.删除

skip-grant-tables

10.重启mysql

service mysql restart

centos下安装mysql5.7

标签:运行   socket   centos   grant   客户端   官网   ica   down   选择   

人气教程排行