在安装Mysql之前,我们需要先卸载MariaDB。MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。由于MySQL的所有权已经属于Oracle,因此MySQL的创始人Michael Widenius主导开发MariaDB。
1. 查询mariadb
# rpm -qa|grep mariadb
mariadb-libs-5.5.68-1.el7.x86_64
2. 卸载mariadb
# yum -y remove mariadb-libs-5.5.68-1.el7.x86_64
3. 删除遗留
# rm -rf /etc/my.cnf
# rm -rf $(find / -name mysql)
接下来,我们就可以安装MySQL数据库,注意我们本次安装属于选择二进制方式的安装。
首先我们需要安装依赖库,执行如下命令即可
# yum -y install autoconf ncurses-devel libaio-devel
我们下载二进制版本 mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz 并上传到 “/data” 目录下。
第一,添加运行用户
# groupadd mysql
# useradd -g mysql mysql -M -s /sbin/nologin
第二,创建数据库文件目录
# mkdir /data/database
# chown -R mysql:mysql /data/database
第三,解压缩并重命名
# cd /data
# tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
# mv mysql-5.7.44-linux-glibc2.12-x86_64 mysql
# chown -R mysql.mysql /data/mysql
第四,创建配置文件 /etc/my.cnf
# vi /etc/my.cnf
[client]
default-character-set=utf8mb4
socket=/data/mysql/mysql.sock
[mysqld]
character-set-server=utf8mb4
socket=/data/mysql/mysql.sock
pid-file=/data/mysql/mysql.pid
basedir=/data/mysql
datadir=/data/database
:wq
备注:更多参数设置请参考其他地方。
第五,初始化数据库(/data/database目录)
# /data/mysql/bin/mysqld --defaults-file=/etc/my.cnf --initialize-insecure --user=mysql --basedir=/data/mysql --datadir=/data/database
备注:–initialize-insecure 表示密码为空,后面我们会重新修改密码。
第六,复制启动脚本
# cp /data/mysql/support-files/mysql.server /etc/init.d/mysqld
# chmod 755 /etc/init.d/mysqld
MySQL启动方式有很多。/bin/mysqld代表着Mysql服务器程序,执行这个文件可以直接启动一个服务器进程。mysqld_safe 是一个启动脚本,它会间接调用mysqld,而且还会顺带启动一个监控进程,这个监控进程在服务器挂了的时候,可以自动重启服务。在mysq的安装目录其实还有一个文件夹support-files,里面的mysql.server 也是一个启动脚本,这个脚本也会间接调用mysqld_safe脚本,并且支持 start|stop|restart|reload|force-reload|status 参数执行。
第七,修改启动脚本
# vi /etc/init.d/mysqld
basedir=/data/mysql
datadir=/data/database
:wq
第八,启动MySQL
# /etc/init.d/mysqld start
Starting MySQL.Logging to '/data/database/localhost.localdomain.err'.
SUCCESS!
第九,修改root密码(123456)
# /data/mysql/bin/mysqladmin -u root password 123456
第十,登录 Mysql
# /data/mysql/bin/mysql -uroot -p123456
select version();
+-----------+
| version() |
+-----------+
| 5.7.44 |
+-----------+
1 row in set (0.00 sec)
第十一,配置服务启动
# vi /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
After=network.target
[Install]
WantedBy=multi-user.target
[Service]
Type=forking
User=mysql
Group=mysql
ExecStart=/etc/init.d/mysqld start
ExecStop=/etc/init.d/mysqld stop
ExecReload=/etc/init.d/mysqld restart
PrivateTmp=True
:wq
第十二,重新启动 Mysql
# systemctl daemon-reload
# systemctl restart mysqld
# systemctl enable mysqld
安装完毕!!!