CentOS7系统安装MySQL 5.7
目录
- 一、官网下载mysql5.7
- 二、检查mysql依赖环境
- 三、安装MySQL 5.7.28
- 1.将安装程序拷贝到/opt目录下
- 2.安装四个安装包
- 3.查看mysql版本
- 4.服务的初始化
- 5.启动mysql,并查看状态(加不加.service后缀都可以)
- 6.查看mysql服务是否自启动(默认自启动)
- 7.首次登录
- 8.修改密码
- 9.安装后目录结构
- 10.字符集问题
- 11.远程访问
Mysql5.7
https://www.aliyundrive.com/s/uj77mbjTfor
提取码: qs04
一、官网下载mysql5.7
https://www.mysql.com
打开官网,点击DOWNLOADS
然后,点击MySQL Community(GPL) Downloads
MySQL分为社区版(Community Server)和企业版(Enterprise Server)
点击MySQL Community Server
下载MySQL Community Server 5.7.28
1.这里不能直接选择CentOS7系统的版本,所以选择与之对应的Red Hat Enterprise Linux 7
2.直接点Download下载RPM Bundle全量包。包括了所有下面的组件。不需要一个一个下载了。
直接点:No thanks,just start my download.
下载的tar包,用压缩工具打开
二、检查mysql依赖环境
查看是否安装过MySQL
rpm -qa | grep -i mariadb CentOS7使用这个
-i忽略大小写
卸载MySQL; --nodeps 排除依赖,否则别的软件依赖mysql,无法删除
rpm -e --nodeps mariadb-libs
检查/tmp临时目权限;
chmod -R 777 /tmp
三、安装MySQL 5.7.28
1.将安装程序拷贝到/opt目录下
在mysql的安装文件目录下执行:(必须按照顺序执行)
rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm
- 如在检查工作时,没有检查mysql依赖环境在安装mysql-community-server会报错
- rpm 是Redhat Package Manage缩写,通过RPM的管理,用户可以把源代码包装成以rpm为扩展名的文件形式,易于安装。
- -i, --install 安装软件包
- -v, --verbose 提供更多的详细信息输出
- -h, --hash 软件包安装的时候列出哈希标记 (和 -v 一起使用效果更好),展示进度条
2.安装四个安装包
3.查看mysql版本
执行 mysqladmin --version命令,类似java -version如果打出消息,即为成功
执行rpm -qa|grep -i mysql命令,查看是否安装成功,需要增加 -i 不用去区分大小写,否则搜索不到。
4.服务的初始化
为了保证数据库目录为与文件的所有者为 mysql 登录用户,如果你是以 root 身份运行 mysql 服务,需要执行下面的命令初始化:
mysqld --initialize --user=mysql
另外 --initialize 选项默认以“安全”模式来初始化,则会为 root 用户生成一个密码并将该密码标记为过期,登录后你需要设置一个新的密码
查看密码:
cat /var/log/mysqld.log
root@localhost: 后面就是初始化的密码
5.启动mysql,并查看状态(加不加.service后缀都可以)
启动:systemctl start mysqld.service
关闭:systemctl stop mysqld.service
重启:systemctl restart mysqld.service
查看状态:systemctl status mysqld.service
查看进程:ps -ef | grep -i mysql
6.查看mysql服务是否自启动(默认自启动)
systemctl list-unit-files|grep mysqld.service
如不是enabled可以运行如下命令设置自启动
systemctl enable mysqld.service
如果希望不进行自启动,运行如下命令设置
systemctl disable mysqld.service
7.首次登录
通过 mysql -uroot -p进行登录,在Enter password:录入初始化密码
8.修改密码
因为初始化密码默认是过期的,所以查看数据库会报错
修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
使用quit退出,重新登录
9.安装后目录结构
参数 | 路径 | 解释 | 备注 |
--basedir | /usr/bin | 相关命令目录 | mysqladmin mysqldump等命令 |
--datadir | /var/lib/mysql/ | mysql数据库文件的存放路径 |
|
--plugin-dir | /usr/lib64/mysql/plugin | mysql插件存放路径 |
|
--log-error | /var/log/mysqld.log | mysql错误日志路径 |
|
--pid-file | /var/run/mysqld/mysqld.pid | 进程pid文件 |
|
--socket | /var/lib/mysql/mysql.sock | 本地连接时用的unix套接字文件 |
|
| /usr/share/mysql | 配置文件目录 | mysql脚本及配置文件 |
| /etc/systemd/system/multi-user.target.wants/mysqld.service | 服务启停相关脚本 |
|
| /etc/my.cnf | mysql配置文件 | cat /etc/my.cnf |
10.字符集问题
默认latin1字符编码,不支持中文
show variables like '%char%';
保存中文报错
1.修改字符集
vim /etc/my.cnf
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
2.重新启动mysql
systemctl restart mysqld
3.已生成的库表字符集如何变更
以前创建的库,创建的表字符集还是latin1
修改以前数据库的字符集
alter database mydb character set 'utf8';
修改以前数据表的字符集
alter table mytbl convert to character set 'utf8';
但是原有的数据如果是用非’utf8’编码的话,数据本身编码不会发生改变。
已有数据需要导出或删除,然后重新插入。
4.查看字符集
show variables like 'character%';
show variables like '%char%';
11.远程访问
进入mysql数据库
use mysql
查询 user 表
select User, Host from user;
修改 user 表,把 Host 表内容修改为%
update user set host='%' where host='localhost';
刷新
flush privileges;