目录
1.安装包下载
mysql5.7 版本下载:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
安装新版mysql前,需将系统自带的mariadb-lib卸载
[root@localhost mysql]# rpm -qa|grep mariadb
mariadb-libs-5.5.60-1.el7_5.x86_64
[root@localhost mysql]# rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
[root@localhost mysql]# rpm -qa|grep mariadb
2.解压安装包并安装
- tar -xvf 命令解压mysql 的rpm 包
tar -xvf mysql-5.7.20-1.el7.x86_64.rpm-bundle.tar
为了避免权限问题 这里我偷个懒 把解压出来的文件全部赋个权限(mysql 是我在/opt下解压rpm包的的文件夹)
[root@localhost opt]# chmod -R 777 mysql
- 依次解压mysql-community-common-5.7.26-1.el7.x86_64.rpm 、mysql-community-libs-5.7.26-1.el7.x86_64.rpm、mysql-community-client-5.7.26-1.el7.x86_64.rpm、mysql-community-server-5.7.26-1.el7.x86_64.rpm 这四个包
注:在安装之前 mysql-community-server-5.7.26-1.el7.x86_64.rpm需要安装libaio
3.配置数据库
- 配置文件:/etc/my.cnf
- 日志文件:/var/log/mysqld.log
- 服务启动脚本:/usr/lib/systemd/system/mysqld.service socket
- 文件:/var/run/mysqld/mysqld.pi
3.1首先找到my.cnf文件进行编辑
[root@localhost /]# cd /etc
[root@localhost etc]# vim my.cnf
在[myqld]下行添加
skip-grant-tables
skip-grant-tables 跳过登陆验证 方便设置用户密码 不然登陆会报ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 各种问题
character_set_server=utf8
init_connect='SET NAMES utf8'
上述代码是设置默认字符集UTF-8。
3.2启动mysql 服务
[root@localhost mysql]# systemctl start mysqld.service
[root@localhost mysql]# mysql
进入mysql命令模式 ,修改用户密码(注意 5.7版本的USER表的password字段没得了 ,改成了authentication_string;
flush privileges; 是立即生效命令;password()里面是你自定义的密码 这里我的密码是ming!@#123)
mysql> update mysql.user set authentication_string=password('ming!@#123') where user='root';
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 1
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
3.3重新使用设置好的密码登陆,并设置远程登陆权限
[root@localhost mysql]# systemctl stop mysqld.service
停止服务后 编辑my.cnf 文件 将skip-grant-tables 注释掉或者删除
然后重启服务 systemctl start mysqld.service
[root@localhost mysql]# systemctl start mysqld.service
[root@localhost mysql]# mysql -u root -p
再输入刚才设置的密码 即可进入mysql
如果输入命令的时候报
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
的错误的话 需要重新修改下密码
alter user user() identified by "ming!@#123";
远程登陆授权
grant all privileges on *.* to 'root'@'%' identified by 'ming!@#123' with grant option;
以上。