CentOs7 安装 mysql 完整版
前言:
该完整版的意思是:虚拟机是今早上新装的,Linux也是早上新装的,所以一切都是新的。
第一步:安装 gcc,gcc-c++
- yum -y install gcc
- yum -y install gcc-c++
第二步:卸载mariadb,否则安装mysql会出现冲突
- 执行命令rpm -qa | grep mariadb
- 列出所有被安装的 mariadb 包
- 执行命令 rpm -e --nodeps mariadb-libs-* (*表示列出 mariadb 的版本号) 如:rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
[root@system src]# rpm -qa | grep mariadb mariadb-libs-5.5.64-1.el7.x86_64 [root@system src]# rpm -e --nodeps mariadb-libs-5.5.64-1.e17.x86_64
第三步:添加官方的yum 源
- 进入 CentOS-Base.repo
vi /etc/yum.repos.d/CentOS-Base.repo
- 添加mysql的yum 源
[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将内容添加到底部就行了,其中 版本是可以改的 。访问:http://repo.mysql.com/yum/ 即可看见具体的版本号
如:5.6、5.7、8.0 等。具体就看个人情况了。 - 安装 mysql yum 源
yum install mysql-community-server
[root@system src]# yum install mysql-community-server 已加载插件:fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.cqu.edu.cn * extras: mirrors.cqu.edu.cn * updates: mirrors.cqu.edu.cn base | 3.6 kB 00:00 extras | 2.9 kB 00:00 mysql57-community | 2.5 kB 00:00 updates | 2.9 kB 00:00 mysql57-community/x86_64/primary_db | 198 kB 00:13 正在解决依赖关系 --> 正在检查事务 ---> 软件包 mysql-community-server.x86_64.0.5.7.29-1.el7 将被 安装 --> 正在处理依赖关系 mysql-community-common(x86-64) = 5.7.29-1.el7,它被软件包 mysql-community-server-5.7.29-1.el7.x86_64 需要 --> 正在处理依赖关系 mysql-community-client(x86-64) >= 5.7.9,它被软件包 mysql-community-server-5.7.29-1.el7.x86_64 需要 --> 正在处理依赖关系 perl(strict),它被软件包 mysql-community-server-5.7.29-1.el7.x86_64 需要 --> 正在处理依赖关系 perl(Getopt::Long),它被软件包 mysql-community-server-5.7.29-1.el7.x86_64 需要 --> 正在处理依赖关系 /usr/bin/perl,它被软件包 mysql-community-server-5.7.29-1.el7.x86_64 需要 --> 正在检查事务 ......
第四步:更改数据库密码
- 修改 my.cnf 文件 ,无需密码登陆
vi /etc/my.cnf
在 [mysqld] 下面添加
skip-grant-tables
- 启动mysql :
service mysqld restart
- 直接进行访问 mysql -uroot - p [敲回车]
[root@system log]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.29 MySQL Community Server (GPL) Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec) - 切换到 mysql,更改密码
mysql> use mysql; mysql> update user set authentication_string=password('密码') where user='root';Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 1
标红的地方请注意:在mysql 5.7中 user 表中已经没有 password 字段了,采用 authentication_string 代替,所以这里要注意一下。
第五步:注释或删除 skip-grant-tables
- vi /etc/my.cnf
# For advice on how to change settings please see # http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html [mysqld] #skip-grant-tables
....
第六步:重启数据库并登陆
-
systemctl restart mysqld
-
[root@system log]# mysql -uroot -p
Enter password: 这时就要输入密码了
第七步:开放端口
- 向防火墙添加 mysql 端口:
firewall-cmd --zone=public --add-port=6397/tcp --permanent - 刷新防火墙规则:
firewall-cmd --reload - 查询防火墙开放端口列表:
firewall-cmd --zone=public --list-port
[root@system ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
success
[root@system ~]# firewall-cmd --reload
success
[root@system ~]# firewall-cmd --zone=public --list-port
3306/tcp
第八步:更改mysql 配置 参考博客
- 允许外网访问
当我进行测试的是否 发现 telnet 不同 ,然后发现mysql 的只允许本地访问 -
select Host,User from user;
mysql> select Host,User from user; +-----------+---------------+ | Host | User | +-----------+---------------+ | localhost | mysql.session | | localhost | mysql.sys | | localhost | root | +-----------+---------------+ - 修改 访问ip 全部都可以访问
update user set host='%' where host='localhost';
- 刷新生效
flush privileges;
第八步:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.(遇到的可以看一下)
- 修改validate_password_policy参数的值
mysql> set global validate_password_policy=0; Query OK, 0 rows affected (0.00 sec) - validate_password_length(密码长度)参数默认为8,我们修改为1
mysql> set global validate_password_length=1; Query OK, 0 rows affected (0.00 sec) - 重置密码
mysql> alter user 'root'@'localhost' identified by '密码'; Query OK, 0 rows affected (0.00 sec)
第十步:测试外网访问
- 打开一个数据库客户端
- 输入相关信息进行测试
- 我刚入手 mac 不太会用,总是是连上了。
到此,mysql 就安装好了。

浙公网安备 33010602011771号