Centos安装Mysql
Centos
通过下载安装包方式进行安装Mysql
,Centos
版本7.9
,Mysql
版本8.0.31
# 查看Centos版本
cat /etc/redhat-release
# 查看mysql版本
mysql --version
mysql> select version(); # 进入mysql命令行界面后
下载安装包
-
进入网址
-
选择对应版本进行下载,Centos系统选择Red Hat选项
Select Operating System: Red Hat Enterprise Linux / Orical Linux Select OS Version: Red Hat Enterprise Linux 7 / Orical Linux 7 (x86,64-bit) Download Packages: RPM Bundle
3、提示要登陆,点击No Thanks,just start my download
进行下载
卸载Centos自带的Mariadb
-
通过
rpm -qa | grep mariadb
命令查看是否安装mariadb
同理,通过
rpm -qa | grep mysql
命令查看是否安装mysql
[root@junjian local]# rpm -qa | grep mariadb [root@junjian local]# rpm -qa | grep mysql
-
通过
rpm -e --nodeps
命令装卸载mariadb
[root@junjian study]# rpm -e mariadb-libs-5.5.68-1.el7.x86_64 [root@junjian study]# rpm -e mysql名称
-
再次执行第一步,查看是否卸载完成
检查是否有libaio库
MySQL 依赖于该libaio 库。如果未在本地安装此库,则数据目录初始化和后续服务器启动步骤将失败。
[root@junjian study]# yum search libaio
# 如果没有安装则执行安装libaio
[root@junjian study]# yum install libaio
安装Mysql安装包
-
通过
cd /usr/local/
命令进入根目录下的usr目录下的local目录,这个目录是放一些本地的共享资源的。并且通过mkdir mysql
命令在当前目录下创建一个名为mysql的目录[root@junjian local]# pwd /usr/local [root@junjian local]# mkdir mysql # 若创建多级目录,则为mkdir -p a/b
-
将下载好的安装装包传输到该目录中
[root@junjian local]# cd mysql/ [root@junjian mysql]# ls mysql-8.0.31-1.el7.x86_64.rpm-bundle.tar
-
通过
tar -xvf mysql-8.0.30-1.el7.x86_64.rpm-bundle.tar
解压安装包[root@junjian mysql]# tar -xvf mysql-8.0.31-1.el7.x86_64.rpm-bundle.tar
-
通过
rpm -ivh mysql-community-{模块名}-8.0.30-1.el7.x86_64.rpm --nodeps --force
按顺序安装common
、libs
、client
、server
,最后通过rpm -qa | grep mysql
命令查看 mysql 的安装包,结果如下[root@junjian mysql]# tar -xvf mysql-8.0.31-1.el7.x86_64.rpm-bundle.tar [root@junjian mysql]# rpm -ivh mysql-community-common-8.0.31-1.el7.x86_64.rpm --nodeps --force [root@junjian mysql]# rpm -ivh mysql-community-libs-8.0.31-1.el7.x86_64.rpm --nodeps --force [root@junjian mysql]# rpm -ivh mysql-community-client-8.0.31-1.el7.x86_64.rpm --nodeps --force [root@junjian mysql]# rpm -ivh mysql-community-server-8.0.31-1.el7.x86_64.rpm --nodeps --force [root@junjian mysql]# rpm -qa | grep mysql mysql-community-common-8.0.31-1.el7.x86_64 mysql-community-libs-8.0.31-1.el7.x86_64 mysql-community-server-8.0.31-1.el7.x86_64 mysql-community-client-8.0.31-1.el7.x86_64
-
通过以下命令,完成对 mysql 数据库的初始化和相关配置
mysqld --initialize
注意如果需要数据库支持忽略大小写则写成mysqld --initialize --lower-case-table-names=1
因为Mysql8.0只支持在初始化时做修改,否则后期只能通过命令chown mysql:mysql /var/lib/mysql -R
systemctl start mysqld.service
systemctl enable mysqld
重新初始化[root@junjian mysql]# mysqld --initialize [root@junjian mysql]# chown mysql:mysql /var/lib/mysql -R [root@junjian mysql]# systemctl start mysqld.service [root@junjian mysql]# systemctl enable mysqld
设置mysql用户和远程连接
-
通过
cat /var/log/mysqld.log | grep password
命令查看数据库的密码[root@junjian mysql]# cat /var/log/mysqld.log | grep password 2022-12-30T09:55:43.666517Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: WIVk2:piM7y#
-
通过
mysql -uroot -p
敲回车键进入数据库登陆界面,并输入刚才查看到的数据库密码[root@junjian mysql]# mysql -uroot -p Enter password:
登录到mysql了
-
通过
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'
命令来修改密码mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; Query OK, 0 rows affected (0.01 sec)
-
通过
exit;
命令退出 MySQL,然后通过新密码再次登陆mysql -uroot -p123456
再通过以下命令授权远程登陆create user 'root'@'%' identified with mysql_native_password by '123456';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;
mysql> create user 'root'@'%' identified with mysql_native_password by '123456'; Query OK, 0 rows affected (0.05 sec) mysql> grant all privileges on *.* to 'root'@'%' with grant option; Query OK, 0 rows affected (0.01 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
-
关闭 防火墙命令
systemctl stop firewalld.service # 停止防火墙服务 systemctl disable firewalld.service # 设置开机禁用防火墙 systemctl status firewalld # 检查防火墙状态 systemctl mask firewalld.service # 注销防火墙服务
-
通过连接工具测试连接
修改Mysql配置
通过以上安装方式,mysql配置文件路径为/etc/my.cnf
如果需要修改配置文件,输入命令systemctl restart mysqld
重启即可生效