mysql 在 centos 7环境安装
说明:
• 安装与卸载中,用户全部切换成为root,⼀旦安装,普通用户能使用的
• 初期练习,mysql不进行用户管理,全部使用root进行,尽快适应mysql语句,后⾯学习用户管理后再考虑新建普通用户
1. 卸载不要的环境
[root@iz0jl69kyvg0h181cozuf5z ~]# ps ajx |grep mariadb # 先检查是否有mariadb存在
13529 13551 13550 13529 pts/0 13550 s+ 0 0:00 grep --color=auto mariadb
这里博主是新建的云服务器,所以这些东西都没有(如果有的话,如下列代码所示:)
[whb@vm-0-3-centos ~]$ ps ajx |grep mariadb # 先检查是否有mariadb存在
13134 14844 14843 13134 pts/0 14843 s+ 1005 0:00 grep --color=auto mariadb
19010 19187 19010 19010 ? -1 sl 27 16:55 /usr/libexec/mysqld --
basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin
--log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid
--socket=/var/lib/mysql/mysql.sock
如果存在mariadb 要先将mariadb服务先停止
[whb@vm-0-3-centos ~]$ systemctl stop mariadb.service # 停⽌mariadb 服务
==== authenticating for org.freedesktop.systemd1.manage-units ===
authentication is required to manage system services or units.
authenticating as: root
password:
==== authentication complete ===
停止完服务如下所式:
[whb@vm-0-3-centos ~]$ ps axj |grep mariadb # 停⽌完成
13134 14976 14975 13134 pts/0 14975 s+ 1005 0:00 grep --color=auto mariadb
2. 检查系统安装包
[whb@vm-0-3-centos ~]$ rpm -qa | grep mariadb
or
[whb@vm-0-3-centos ~]$ rpm -qa | grep mysql
mysql-community-common-5.7.41-1.el7.x86_64
mysql-community-server-5.7.41-1.el7.x86_64
mysql57-community-release-el7-11.noarch
mysql-community-client-5.7.41-1.el7.x86_64
mysql-community-libs-5.7.41-1.el7.x86_64
3. 卸载这些默认安装包
#卸载显⽰出来的mariadb/mysql安装包
[whb@vm-0-3-centos ~]$ sudo yum remove mariadb # 还是试着将上⾯的包都⼀个⼀个卸载吧
# 备份/etc/my.cnf,备份/var/lib/mysql数据(如果不需要再使用之前mysql当中的数据可以不用进行备份)
4. 获取mysql官方yum源
获取mysql官⽅yum源 点击该链接获取yum源!
⼀定要看下⾯的⽂字!如果后⾯⾃⼰安装不成功,就看看这个
注意:最好安装和自己系统⼀致的mysql版本,否则可能会存在软件兼容性问题
# 查看⾃⼰的系统版本
[root@iz0jl69kyvg0h181cozuf5z ~]# cat /etc/redhat-release
centos linux release 7.9.2009 (core)
可以看到这里博主的系统是centos 7.9 版本的
如果是7.1 / 7.2 … 没找到后缀相同的版本,选择下载el7.rpm即可
下载完成后放到桌面上
执行rz命令,将安装包导入到linux系统
执行rz命令找到自己下载的安装包
到这里rpm的安装包就安装完成啦!
5. 安装mysql yum 源,对比前后yum源
查看你本地的yum源 [yum源各不相同,我们可以发现没有mysql相关的yum源]
[root@iz0jl69kyvg0h181cozuf5z ~]# ls /etc/yum.repos.d/ -l
total 8
-rw-r--r-- 1 root root 675 mar 10 13:16 centos-base.repo
-rw-r--r-- 1 root root 230 mar 10 13:16 epel.repo
安装mysql的yum源
[root@iz0jl69kyvg0h181cozuf5z ~]# rpm -ivh mysql57-community-release-el7-9.noarch.rpm
warning: mysql57-community-release-el7-9.noarch.rpm: header v3 dsa/sha1 signature, key id 5072e1f5: nokey
preparing... ################################# [100%]
updating / installing...
1:mysql57-community-release-el7-9 ################################# [100%]
[root@iz0jl69kyvg0h181cozuf5z ~]# ls /etc/yum.repos.d/ -l
total 16
-rw-r--r-- 1 root root 675 mar 10 13:16 centos-base.repo
-rw-r--r-- 1 root root 230 mar 10 13:16 epel.repo
-rw-r--r-- 1 root root 1416 sep 12 2016 mysql-community.repo
-rw-r--r-- 1 root root 1440 sep 12 2016 mysql-community-source.repo
前后进行对比发现mysql 的 yum 源安装上了
# 安装完成后,这个rpm的安装包就没有作用了 可以进行删除命令
[root@iz0jl69kyvg0h181cozuf5z ~]# ll
total 12
-rw-r--r-- 1 root root 9224 mar 11 08:20 mysql57-community-release-el7-9.noarch.rpm
[root@iz0jl69kyvg0h181cozuf5z ~]# rm mysql57-community-release-el7-9.noarch.rpm
rm: remove regular file ‘mysql57-community-release-el7-9.noarch.rpm’? y
6. 看看能不能正常工作
[root@iz0jl69kyvg0h181cozuf5z ~]# yum list |grep mysql
mysql57-community-release.noarch el7-9 installed
akonadi-mysql.x86_64 1.9.2-4.el7 base
anope-mysql.x86_64 2.1.2-1.el7 epel
apr-util-mysql.x86_64 1.5.2-6.el7_9.1 updates
calligra-kexi-driver-mysql.x86_64 2.9.10-2.el7 epel
collectd-mysql.x86_64 5.8.1-1.el7 epel
dmlite-plugins-mysql.x86_64 1.15.2-15.el7 epel
dovecot-mysql.x86_64 1:2.2.36-8.el7 base
dpm-copy-server-mysql.x86_64 1.13.0-1.el7 epel
dpm-name-server-mysql.x86_64 1.13.0-1.el7 epel
dpm-server-mysql.x86_64 1.13.0-1.el7 epel
dpm-srm-server-mysql.x86_64 1.13.0-1.el7 epel
dspam-mysql.x86_64 3.10.2-12.el7 epel
exim-mysql.x86_64 4.97.1-1.el7 epel
freeradius-mysql.x86_64 3.0.13-15.el7 base
fts-mysql.x86_64 3.12.0-1.el7 epel
gnokii-smsd-mysql.x86_64 0.6.31-17.el7 epel
holland-mysql.noarch 1.1.22-1.el7 epel
holland-mysqldump.noarch 1.1.22-1.el7 epel
7. 安装mysql服务
[root@iz0jl69kyvg0h181cozuf5z ~]# yum install -y mysql-community-server
loaded plugins: fastestmirror
loading mirror speeds from cached hostfile
resolving dependencies
--> running transaction check
---> package mysql-community-server.x86_64 0:5.7.44-1.el7 will be installed
--> processing dependency: mysql-community-common(x86-64) = 5.7.44-1.el7 for package: mysql-community-server-5.7.44-1.el7.x86_64
--> processing dependency: mysql-community-client(x86-64) >= 5.7.9 for package: mysql-community-server-5.7.44-1.el7.x86_64
...
installing : mysql-community-common-5.7.33-1.el7.x86_64 #公共模块
installing : mysql-community-libs-5.7.33-1.el7.x86_64 #库
installing : mysql-community-client-5.7.33-1.el7.x86_64 #客⼾端
installing : mysql-community-server-5.7.33-1.el7.x86_64 #服务器
... #安装了服务和客⼾端
8. 查看配置文件和数据存储位置
[root@iz0jl69kyvg0h181cozuf5z ~]# ls /etc/my.cnf
/etc/my.cnf
[root@iz0jl69kyvg0h181cozuf5z ~]# which mysqld
/usr/sbin/mysqld
[root@iz0jl69kyvg0h181cozuf5z ~]# which mysql
/usr/bin/mysql
9. 启动服务并查看
[root@iz0jl69kyvg0h181cozuf5z ~]# systemctl start mysqld
[root@iz0jl69kyvg0h181cozuf5z ~]# ps axj | grep mysqld
1 13984 13983 13983 ? -1 sl 27 0:00 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
13529 14013 14012 13529 pts/0 14012 s+ 0 0:00 grep --color=auto mysqld
我们可以看到现在就有了mysqld的进程
10. 登陆mysql账号
因为登录需要密码,而刚开始是由电脑自动生成的随机密码(也不好找) 所以我们第一次登录选择跳过验证!
[root@iz0jl69kyvg0h181cozuf5z ~]# vim /etc/my.cnf
在[mysqld]最后⼀栏配置(不知道是什么,就放在配置⽂件最后) 加⼊: skip-grant-tables 选项,
并保存退出
不会进行文档保存可以看看博主之前关于linux系统的命令博客
保存完之后重启mysql服务
[root@iz0jl69kyvg0h181cozuf5z ~]# systemctl restart mysqld # 重启mysql服务
# 登录成功如下所示:
[root@iz0jl69kyvg0h181cozuf5z ~]# 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.44 mysql community server (gpl)
copyright (c) 2000, 2023, oracle and/or its affiliates.
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>
那么接下来就可以执行mysql命令了
mysql> show databases;
+--------------------+
| database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
11. 设置开机启动[可以不设]
[root@iz0jl69kyvg0h181cozuf5z ~]# systemctl enable mysqld
[root@iz0jl69kyvg0h181cozuf5z ~]# systemctl daemon-reload
因为云服务器一般都是保持启动状态的,所以设备设置都无所谓╮(╯_╰)╭
12. 配置my.cnf
[root@iz0jl69kyvg0h181cozuf5z ~]# vim /etc/my.cnf
# ....
# 在/etc/my.cnf 文件当中添加以下三行即可!
port=3306
character-set-server=utf8
default-storage-engine=innodb
当然,完整的配置文件(/etc/my.cnf)放在下面啦!大家 ctrl +c/v 即可!
# for advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
[mysqld]
#
# remove leading # and set to the amount of ram for the most important data
# cache in mysql. start at 70% of total ram for dedicated server, else 10%.
# innodb_buffer_pool_size = 128m
#
# remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# remove leading # to set options mainly useful for reporting servers.
# the server defaults are faster for transactions and fast selects.
# adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128m
# sort_buffer_size = 2m
# read_rnd_buffer_size = 2m
port=3306
character-set-server=utf8
default-storage-engine=innodb
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
skip-grant-tables
因为之前我们启动了mysql服务,修改配置文件后要进行重新启动
[root@iz0jl69kyvg0h181cozuf5z ~]# ps axj | grep mysql
1 14057 14056 14056 ? -1 sl 27 0:00 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
13529 14209 14208 13529 pts/0 14208 s+ 0 0:00 grep --color=auto mysql
[root@iz0jl69kyvg0h181cozuf5z ~]# systemctl restart mysqld
那么到这里,整个mysql安装的流程就结束啦!!! 可以进行mysql知识的学习了。
感觉有帮助的朋友的兄弟给个三连支持一下,跪谢!!!
发表评论